Project: FreelanceBuddy
Overview: FreelanceBuddy is a powerful and efficient Command Line Interface (CLI)
optimised app designed for freelancers.
It's a one-stop solution for freelancers, helping them manage multiple clients, track project statuses,
and stay on top of their financial reports.
Given below are my contributions to the project.
New Feature: Events
- What it does: Displays events that the user inputs into the application.
- Justification: Events are a crucial part of a freelancer's life. They need to be able to keep track of their
events and deadlines. The Event logging allows them to be on task and not miss any deadlines.
- Highlights: This feature allows the user to view all their upcoming events in chronological order.
New Feature: Event Filter by name
- What it does: Allows users to filter their events by their name
- Justification: As freelancers have many events, they need to be able to filter their events by name to find the
relevant events.
- Highlights: Results are chronological and the user can view all their events in one place. It is case-insensitive.
New Feature: Event Filter by date
- What it does: Allows users to filter their events by their time
- Justification: As freelancers have many events, they need to be able to filter their events by time to find the
relevant events.
- Highlights: Results are chronological and the user can view all their searched events in one place from the
specified date to today.
New Feature: Event Card
- What it does: Allows users view important information about their events in a card format
- Justification: We needed to display the information in a more user-friendly way. The card format allows the user to
view the information in a more concise manner.
- Highlights: Only details which exist are shown in the card.
Code contributed: RepoSense link
Project management:
- Created demo video for Freelance Buddy
Enhancements to existing features:
Updated: Add Contact Parser
- What it does: Allows users to add contacts to the application, with additional and optional information such as
address and Telegram handle.
- Justification: We felt that the fields which were optional were widely used in the freelancing
space, but were not exactly necessary. Hence, we included them but made them optional.
- Highlights: optionality of certain fields.
Documentation:
User Guide:
- Added documentation for Contacts
- Added documentation for the features in Events
add
delete
filter-n
filter-t
list
list-all
Developer Guide:
- Added UML Diagrams for Tabs and UI
- Updated UI design description
- Added use cases for Events
- Added Manual Tests for Events
add
edit
delete
filter-n
filter-t
list
list-all
- Added Documentation for planned enhancements
Duplicate contact names
Duplicate phone numbers
Community:
- Reported bugs and suggestions for other teams in the class
- Reviewed non-trivial number of PRs
- I collaborated closely with Daniel Loh (dloh2236) to build the base Logic and Model for the Events section in our application.
Throughout our work, we frequently supported each other and had good communication which resulted in an efficient workflow,
allowing us to implement commands and refine the UI in timely fashion. Additionally, I assisted Daniel by creating test cases,
and he aided me in resolving certain merge conflicts.
Tools: