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