Ravikumar Nikhila - Project Portfolio Page
Overview
UniTracker is a one-stop university tracker designed and created to help NUS students keep track of all the resources needed for their modules. It also includes helpful features such as a CAP simulator and a task manager. The user can interact with it using a Command Line Interface (CLI). UniTracker was created with Java, and has about 7 kLOC.
Summary of Contributions
Code contributed
For the RepoSense report of my tP Code Dashboard - Click Here
Enhancements implemented
For our product, I have implemented the following:
- Main Menu: skeleton code for others to integrate their features in
 ModuleInfoMenu: skeleton codeStoragemethods forModuleInfo:loadAllFiles()method: Loads all FilessaveAllFiles()method: Saves all FilesloadModuleInfoFile()method: LoadsModuleInfofiles (if existing) from computer OR Creates newModuleInfofilesdownloadModules()method: Loads allModuleInfofiles (if existing)modulesFileSaver()method: Stores allModuleInfodata into files
- Features implemented under 
ModuleInfoMenu:addNewModule()method: Adds new ModulecheckIfModuleExists()method: Checks if module to be added already existsisAlphaNumeric()andmoduleNameIsAlphaNumeric()methods: checks if module name is alphanumeric
viewAModule()method (exceptprintModuleTaskList()method)viewAllModules()method: Prints the list of Modules frommodulesArrayListcheckAndRemoveDelimiter(): Removes the “ ~~ “ restricted character.deleteModule()method: Deletes a moduletestDeleteModule(),readModuleNumberToBeDeleted()printDeletedModuleMessage()
addReview()method: Adds a review to a moduleprintAlreadyAddedReviewMessage(),readReview()printReviewAddedMessage()
viewAllReviews()method: Prints all reviews for all modulesdeleteReview()method: Deletes a review of a selected moduleprintDeletedReviewMessage()
 
Contributions to User Guide
For the user guide, I have included instructions on how to use the features I have implemented.
Here are my implementations and the links to the following sections of our User Guide:
- Add a Module
 - View a Module
 - View All Modules
 - Delete a Module
 - Add a Review
 - View All Reviews
 - Delete a Review
 - To improve navigability: I included hyperlinks to content page and command summary for all sections.
 - Vetting of user guide in general (Links of PRs given below in Contribution to team-based tasks)
 
Contributions to Developer Guide
For the developer guide, I have included instructions on how I implemented the features I was assigned.
Here are my implementations and the links to the following sections of our Developer Guide:
- Add a Module
 - View a Module
 - View All Modules
 - Delete a Module
 - Add a Review
 - View All Reviews
 - Delete a Review
 - Instructions for manual testing
 
The following are the diagrams I have added:

Figure 1 Add New Module (Click here for link to this section of DG)

Figure 2 Add New Review (Click here for link to this section of DG)
Contributions to team-based tasks
For the team-based tasks, the following were the tasks I have carried out:
- Created and Updated the agenda for each week, and the schedule for the project with key deadlines in our shared document (Google Docs reference: Click here to view)
 - Maintained the issue tracker: Assigning and resolving issues regularly
 - Updated user/developer guides that are not specific to a feature: General proof-reading, updating table of contents, etc.