Ravi Ananya's Project Portfolio Page
Project: WedFast
WedFast is a program that aims to help users plan their wedding efficiently by organising the contacts of all the parties involved. These contacts include details such as pricing, attendance status, name, email, address, and phone number. The program is a desktop based application created using JavaFx GUI, and users work with the CLI to input/manage their contact details.
Given below are my contributions to the project.
- New Feature: Add Price component to every Person.
- What it does: Allows the user to include the pricing that a person’s service amounts to when adding/editing amounts to, and displays this price in the program.
- Justification: For parties such as caterers, photographers, attire organisers, noting their price points is a critical aspect of wedding planning that should not be overlooked and improves the user’s decision-making.
- Highlights: Adding this feature affected the Person object, and almost all the different types of commands, which make use of Person objects. Therefore, several classes had to be updated, as well as their test classes.
- Credit: structure of the code was based on the other Person components written for the original AB3 program.
- New Feature: Add Info component to every Person.
- What it does: Lets the user to include any important information for each contact when adding/editing them. Displays this information in the program.
- Justification: For example, if the contact can only communicate with the user during a certain period of the day, adding the information will prevent the user from forgetting it.
- As with the Price component, adding the Info component affected the Person object and also required tweaking other classes involved - rather tedious.
- Credit: same as for Price component.
- New Feature: Add Status component to every Person.
- What it does: Permits the user to add/update the status of each contact as frequently as they please, to verify whether they are attending/involved in the wedding. Visibly displays Green, Yellow or Red on the text to indicate confirmed, pending or declined status.
- Justification: Allows the user to know at all times who is and is not attending and keep their priorities in check.
- Highlights and Credit: same as for Price and Info Component
- New Feature: Add undo command
- What it does: This command helps to undo the most previous command. Summary of commands that can be undone: add, delete (by index, name or tag), clear, group, and edit.
- Benefit: Any accidental command implemented can be undone quickly
- Highlights: Implementing the undo command meant having to understand how to revert each command it works for. Commands
such as
deletehad 3 methods of deletion, (name, info and tag), so undoing each of these subcommands also had to be taken into consideration. - Credit: The general structure UndoCommand class was adopted from various other Command subclasses.
- Code contributed: RepoSense Link
- Project management:
- Managed releases
v1.2.1-v1.3(2 releases) on GitHub
- Managed releases
- Enhancements to Existing Features:
- Documentation:
- User Guide:
- Developer Guide:
- Contributions to Team-Based Tasks:
- Updating user/developer docs that are not specific to a feature, i.e writing the user stories, glossary and editing diagrams and content in the developer guide.
- Maintaining the issue tracker
- Setting up milestone
- Community: