melovecarbs - Project Portfolio

Project: WhenFree

Overview

WhenFree is a command line based application capable of finding common time-slots among team members and schedule meetings accordingly. It also have additional features such as add/delete/edit meetings and can save the data onto hard-disk for future use.

Summary of Contributions

Code Contributed

Link : RepoSense Dashboard

Enhancements implemented:

:blush: Below are few of the examples of my contributions to the developer’s guide.

2.1. Architecture

Architecture Diagram

The architecture diagram above shows an overview of the high-level design of WhenFree. Meeting Organizer adopts an n-tier style architecture where higher layers make use of the services provided by the lower layers. Here is a quick overview of each layer and the components residing in it.

2.3. Logic component

Logic Component

The LogicManager is the brain and backbone of the logic component. It depends on 3 sub-components for it to work. First, command sub-component would be initialize to interpret the user commands. Afterwards, LogicManager instantiatesschedulelogic and modulelogic sub-components via CommandHandler to enable the generation of common time slots from NUSMODS links. LogicManager forms a whole-part relationship with the classes in the Model component, mainly ContactList and MeetingList where all the data generated from user commands would be stored. Besides, LogicManager also stores a mainUser:Contact containing the user’s timetable which is used to store scheduled meetings.