Skip to content

Latest commit

 

History

History
123 lines (56 loc) · 3.64 KB

sreesubbash.adoc

File metadata and controls

123 lines (56 loc) · 3.64 KB

Sree Subbash - Project Portfolio

CS2103T Team Project: Dukemon

Overview

Dukemon is a desktop flashcard application used to reinforce memory techniques. The user interacts with it using a CLI (Command Line Interface), and it has a GUI (Graphical User Interface) created with JavaFX.

While it was targeted at regular CLI users, after preliminary user experience feedback from the target audience, we noted that even experienced users require documentation to get familiar with commands. Also, they found it inconvenient to refer to the User Guide often.

It was our priority to improve their learning experience. So I took initiative to go the extra mile to improve their command line experience.

Under the hood, it required major restructuring of input handling. In that process, I took care that code was well abstracted for co-developers and future developers.

Contributions

AutoComplete with Dynamic Command Parsers

  • Benefits Users

    • What it does: allows user to be visually cued on the commands available that updates as he types.

    • Justification: It alleviates the drawback of being clueless and disoriented in a new command line interface

    • Highlights: The parser logic for autocomplete was designed from ground up to cater for the application’s unique needs. After in-depth analysis of alternatives, java reflections was utilised.

Note
In-depth explanation in User Guide extract below
  • Benefits Developers

    • What it does: Allows new commands and parsers to be added with just one line of code

    • Justification: Abides open close principle of object oriented programming paradigm.

    • Highlights: Internal architecture was made succinct without unnecessary complications.

Note
In-depth analysis in Developer Guide extract below

Project management

  • Coordinated devlopment and master branch workflow for rapid prototyping in early weeks.

  • Suggested branching workflow (with username, merge count and purpose) during period closer to deployment for stability and accountability in changes.

  • Initial set up of continous integration pipeline with travis.

  • Managed product release on GitHub v1.3.5

  • Actively participated in weekly team meetings that focused on restructuring of code base and to get everyone on the same page.

Community

PR reviewed: CS2103T-T10-4 TimeBook

Contributions to the User Guide

Below are extracts I have contributed to the User Guide.

It demonstrates how my AutoComplete feature makes a tangible difference in improving userflow.

Also its a showcase of my ability to write documentation targeting end-users.

QuickStart

Contributions to the Developer Guide

Below are extracts I have contributed to the Developer Guide.

It demonstrates how my AutoComplete feature works with the Dynamic Parser implementation.

Also its a showcase of my ability to write technical documentation and the technical depth of my work that involves integrating the advanced paradigm of Java Relections into the project.

Other Projects