wjchoi0712 - Project Portfolio Page for NUSMaze
Overview
NUSMaze is a Command Line Interface (CLI) based application that aims to simplify NUS Computer Engineering students’ journey from one point to another within the NUS Engineering and Computing buildings. The application allows users to find the shortest route from one block to another, locate the nearest eatery, add personal notes to the location and many more. The main target audience of NUSMaze are freshmen who are unfamiliar with the campus and need help travelling between Engineering and computing.
Summary of Contributions
Code contributed
The codes that I have contributed to the team can be found here.
Enhancements Implemented
Shown below are some features/aspects that I have contributed to the team.
Routing feature
- Collaborated with Bowen(simbowen) to implement the routing algorithm.
- Collaborated with Bowen(simbowen) to construct the map of the Engineering and Computing campus.
- Implemented eatery feature which shows the user a list of eateries to choose from.
Favourite feature
- Collaborated with Shuhao(Rye98) to implement the favourite feature, which allows user to store favourite routes.
Storage
- Collaborated with Bowen(simbowen), Kimberley(kimideas8) and Rizavur(rizavur) to implement the saving feature.
- Designed the
DataDecoder
andDataEncoder
class to encode and decode data. - Added in exceptions to find corrupted data while loading past data.
UI
- Collaborated with Rizavur(rizavur) to develop the UI of NUSMaze.
Command Classes
- Collaborated with Rizavur(rizavur) to form the
Parser
for user commands as well the overall OOP structure for the command classes.
Contributions to the UG
Regarding the User Guide, I have contributed to the following sections:
- Section 1 (Introduction)
- Section 3.2.3 (Format of commands)
- Section 4.3 (Routing)
- Section 4.10 (Saving the data)
- Section 4.11 (Loading past data)
Contributions to the DG
Regarding the Developer Guide, I have contributed to the following sections:
- Section 2.1 (Architecture)
- Section 2.3 (Parser Component)
- Section 2.4 (Command Component)
- Section 2.5 (Router Component)
- Section 2.6 (Data Component)
Contributions to team-based tasks
Contributions that I have made to team-based tasks are:
- Setting up the GitHub team org/repo
- Organising the classes into different packages
- Integrating different features of the NUSMaze
Review contributions
The PRs that I have reviewed can be found here.
Contributions beyond the project team
Bug reports that I have provided for other project team is here.
Response that I have posted in forum is here.