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
ModuleInfo
Menu: skeleton codeStorage
methods forModuleInfo
:loadAllFiles()
method: Loads all FilessaveAllFiles()
method: Saves all FilesloadModuleInfoFile()
method: LoadsModuleInfo
files (if existing) from computer OR Creates newModuleInfo
filesdownloadModules()
method: Loads allModuleInfo
files (if existing)modulesFileSaver()
method: Stores allModuleInfo
data into files
- Features implemented under
ModuleInfo
Menu: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 frommodules
ArrayListcheckAndRemoveDelimiter()
: 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.