< home

eCardnomics

Source Demo

eCardnomics is a desktop flashcard application to quickly create, manage, and access new flashcards via a Command Line Interface (CLI). eCardnomics is targeted at economics students in Junior College in Singapore, and aims to enhance students’ study experience as an efficient and handy aid for active recall.

The main goals of this application are to help students store and segment their economics subject syllabus into different decks, consolidate bite-sized information within each topic by way of flash cards, and offer a fun way for students to study and revise.

Takeaways

This was a National University of Singapore (NUS) computer science module introducing key ideas and real-world applications of software engineering concepts, taught in Java, culminating in a 5-man team project.

Through this project, I applied concepts of abstraction and encapsulation, Java 8 Streams, and unit and integration testing in a team Command Line Interface (CLI) project. I wrote 3500 out of 6000 lines of code, including the application’s main Game Mode, and wrote 40% of user and developer documentation. I also managed issues and releases, and authored 40 PRs in two months.

Code Contribution

Reposense dashboard summary Detailed writeup

v1.0:

v2.0:

Game Mode Feature

Implemented Game Mode feature. For this, our team originally thought it would be just another command implemented as part of Normal Mode or Deck Mode, but I felt it deserved its own mode. I created a separate package, game, and parser class GameParser for Game Mode, with the game package abstracting away the entire Game Mode implementation from the rest of the application.

So the resulting game package is structured as such:

game
  | Game
  | GameEngine
    | runGameLoop(), update()
  | GameStorage
    | originalDeck, deque, retestStore

Here, I also tried as much as possible to incorporate the Single Responsibility Principle, both within the game classes and the SRP-ness of the existing classes.

User Guide Contribution

Snippet:

eCardnomics UG Game Mode

Read docs

Developer Guide Contribution

Snippet:

eCardnomics DG Game Mode

Read docs