Skip to content

Latest commit

 

History

History
86 lines (55 loc) · 3.46 KB

ahaliq.adoc

File metadata and controls

86 lines (55 loc) · 3.46 KB

Abdul Haliq - Project Portfolio

PROJECT: FlashCard Pro

Overview

FlashCardPro is a program to manage flash cards each with three properties; front, back and evaluation. The simplest form of a flash card is a FrontBackCard where the front and back are texts and evaluation is checking that the user’s input is the same as back.

The app also has a review mode where users can test themselves with the cards they have created.

Cards can also easily be shared via a json file per deck of cards.

This project is implemented from scratch while learning the ropes of design patterns and software architecture.

Code Contribution

Major Contribution

  • Came up with initial structure for the model of abstract flash cards #52

  • Came up with high level design for feedback loop of processing input and gui interaction #52 Responder Responses ResponseFunc State

  • Implemented FileReadWrite library used by the team to store and read files in a centralized location. #63 FileReadWrite

  • Implemented JSON parsing algorithm from scratch that takes a string input and creates JsonValue objects that can be interpreted in java to reconstruct objects that it represents. #63 All JSON Parsing

  • Implemented a cli that reads keystrokes and based on that action determines how to edit and present text for the user. It is to emulate a terminal window. It also has multiline editing capabilities (a mini text editor), all implemented using purely javafx KeyEvent and timer. #277 #279 #284 #336 #361 #372

Minor Contribution

  • Utils for string formatting Printer

  • Algorithms for Regex generation and data extraction. RegexUtil

  • Contributed to storage for stats objects i.e. Sessions. #258

  • JUnit tests for StorageManager, FileReadWrite, Printer and all the JSON classes tests

  • Various refactoring and debugging.

Documentation Contribution

Miscellaneous Documentation

Wrote a tutorial for the team to understand Responses at its most basic form

User Guide