Kylan - Project Portfolio Page
Overview
WheresMyMoney is an expense tracking application with additional features such as support for recurring expenses, spending limit alerts and spending visualisation.
Summary of Contributions
Given below are my contributions to the project.
- Code Contributions: RepoSense Link
- Code Written
- Primary contributor to almost all the code in:
ExpenseList
and Expense
classes
- Utility methods such as constructors, getters and setters
ExpenseListTest
and ExpenseTest
classes’ JUnit tests
- Tests for the aforementioned utility methods
DateUtils
class
CategoryTracker
, CategoryData
, CategoryFilter
, CategoryFacade
and CategoryStorage
classes
CategoryTracker
and CategoryData
classes’ JUnit tests
- Assertions and guard clauses for
Expense
and CategoryData
setters
- Checks for: Null, Blank, Non-Positive
- Partial contributor to some of the code in:
ExpenseList
and Expense
classes
- CRUD methods such as add, edit and delete
ExpenseListTest
and ExpenseTest
classes’ JUnit tests
- Updated tests for the aforementioned CRUD methods
AddCommand
, EditCommand
, DeleteCommand
classes
- Integrate ExpenseList CRUD methods
- Integrate my category CRUD methods
SetCommand
classes
- Integrate my category set methods
- Documentation Contributions
- User Guide
- Created section about setting spending limits for a category
- Add FAQs about:
- CRUD operations for spending limits
- Total expense resetting every month
- Floats used as the type for prices
- Developer Guide
- Created
Expense
and ExpenseList
section
- Created category package section
- Includes details about classes
CategoryTracker
, CategoryData
, CategoryFilter
, CategoryFacade
and CategoryStorage
- Created
DateUtils
section
- Created UML Diagrams:
- 2 Class UMLs:
- One for
Expense
and ExpenseList
- Another for classes in the category package
- 6 Sequence UMLs for key methods in
CategoryFacade
- Project Management
- Resolved issues found by QA testers during PE-D.
- Maintained code quality
- Review & Mentoring Contributions:
- Perform product testing before release of v2.0 and v2.1.
- Provide suggestions for designing various components of the software.
- Provide suggestions for how architecture diagram should look like
- Community
- Reported bugs and suggestions for other teams in the class