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
salaryparameter foraddcommand.- What it does: User can input
salaryfor theroles. - Justification: The addition of
salaryis 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.
salarymust be integers/float values and their values must not start with a 0.
- What it does: User can input
- New Feature: Add a new
companycommand to allow filtering of thecompanyfield.- 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
CompanyContainsKeywordPredicateclass to check for keywords in thecompanyfield.- 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
Companycommand.
- Enhancements to existing features:
- Refactored all instances of
Persontorolein all the files.- What it does: Renamed all methods, classes and variables that contained
persontorole. - 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 thesalaryfield in theaddcommand - Wrote and provided the UI screenshots of
companycommand. - Proof-read and edited mistakes in the UG.
- Added the
- Developer Guide:
- Wrote the implementation and alternatives of
CompanyCommand. - Wrote the implementation of
DeleteCommandand its dependencies. - Constructed the sequence diagram of
CompanyCommand. - Added all Use cases for TechTrack v2 commands.
- Changed all uml diagrams to use
roleinstead 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