amoonguss1's Project Portfolio Page
Project: TechTrack
TechTrack is a powerful internship/job tracking application that combines the flexibility of a Command Line Interface (CLI) with the benefits of a Graphical User Interface (GUI). Designed for computing students and professionals, TechTrack helps you manage your internship/job search project by tracking deadlines and information regarding various roles. Its CLI interface is optimized for speed, efficiency, and ease of use, making it a valuable tool for students who are already familiar with CLI environments.
I worked on the backend mainly and documentation. I was mainly in charge of implementation and testing.
Contributions
- New Feature: Added the
salary
parameter foradd
command.- What it does: User can input
salary
for theroles
. - Justification: The addition of
salary
is important for any applicant looking to apply for internships/jobs,
providing them with the information they need to make more informed decisions about their job search. - Highlights: TechTrack users can now add salaries of respective roles.
salary
must be integers/float values and their values must not start with a 0.
- What it does: User can input
- New Feature: Add a new
company
command to allow filtering of thecompany
field.- What it does: Allows users to filter companies by the keyword specified. e.g.
company Google
- Justification: Filtering by company names is important as it speeds up the process of finding relevant companies that the user is interested in applying for.
- Highlights: Makes it more friendly for the user to search through different roles. The keyword entered is not case-sensitive.
- What it does: Allows users to filter companies by the keyword specified. e.g.
- Implementation: Add a new
CompanyContainsKeywordPredicate
class to check for keywords in thecompany
field.- What it does: Allow developers to check for equivalence of keywords and testing.
- Justification: Follows the original Name command format of AB3 where the Name of the role is filtered
by
NameContainsKeywordPredicate
. - Highlights: Allows for a separate, unique predicate checking on keywords parsed to the
Company
command.
- Enhancements to existing features:
- Refactored all instances of
Person
torole
in all the files.- What it does: Renamed all methods, classes and variables that contained
person
torole
. - Justification: Roles fits towards TechTrack instead of person in AB3 and would be clearer for future developments.
- Highlights: Refactored AB3 code and tests.
- What it does: Renamed all methods, classes and variables that contained
- Refactored all instances of
- Documentation:
- User Guide:
- Added the
$/
parameter for thesalary
field in theadd
command - Wrote and provided the UI screenshots of
company
command. - Proof-read and edited mistakes in the UG.
- Added the
- Developer Guide:
- Wrote the implementation and alternatives of
CompanyCommand
. - Wrote the implementation of
DeleteCommand
and its dependencies. - Constructed the sequence diagram of
CompanyCommand
. - Added all Use cases for TechTrack v2 commands.
- Changed all uml diagrams to use
role
instead ofaddress
. - Updated the class diagrams to use the current TechTrack role fields.
- Wrote the implementation and alternatives of
- User Guide:
- Contributions to team-based tasks:
- Created several tags in team repository to help manage the work done by the team.
- Managed and reviewed most of the Pull Requests done by the team.
- Proof-read documentation to rectify any mistakes done by team members.
- Facilitated team meetings by planning out what we needed to do for the week.
- Bug Fixes
- Fixed UG bug, where command summary was not explained clearly.
- Fixed multiple UG bugs where grammatical errors were found.
- Fixed DG bug, where uml diagrams would display wrongly after refactoring the code base.
- Review/mentoring contributions: Offered useful and feedback reviewing PRs. Examples: 1, 2, 3