matthewc97 - Project Portfolio
Project: WhenFree
Overview
WhenFree is a command-line interface (CLI) application for NUS students to find common free time among them and their friends, using just the NUSMODS links to their school timetables. It also offers additional features such as add/delete/edit meetings and saves the data onto hard-disk for future use.
Summary of Contributions
Code Contributed
Enhancements implemented:
- Major Enhancement: Implemented the ability to schedule a meeting
- What it does:
- Creates a new
Meeting
object and adds it to theMeetingList
.
- Creates a new
- Justification:
- This is one of the basic functions of the application which is to allow the user to schedule a meeting based on the members’ schedules.
- Highlights:
- Having a
MeetingList
allows us to implement further features such as listing all meetings and deleting a meeting. - Moreover, the information from the
MeetingList
can be saved to the hard disk using theStorage
component later.
- Having a
- What it does:
- Major Enhancement: Implemented the ability to display timetable
- What it does:
- Displays user’s timetable using the
TextUI
component.
- Displays user’s timetable using the
- Justification:
- During the initial development of the application, the application only provided a list of free slots to the user.
- This was not user-friendly as the user could not schedule meetings intuitively.
- Hence, there was a need to develop a method to display the user’s timetable visually.
- Highlights:
- This feature allows the user to visualise his/her team’s timetable clearly and see which slots are free so that he/she can schedule a meeting easily.
- What it does:
Contributions to the User Guide
Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users.
Contributions to the Developer Guide
Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project.
Contributions to team-based tasks
- Jointly released V1.0, V2.0 and V2.1 together with teammates, making code enhancements when necessary.
- Look after code quality and ensures adherence to coding standards.
Review/mentoring contributions
- Provided help to my teammates in resolving bugs encountered.
- Review PRs and help resolve merge conflicts caused by working in parallel.