simon-gardier / study-terminal

📝Study your flash card from the terminal

Home Page:https://en.wikipedia.org/wiki/Flashcard

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

📝 Study terminal

Release Language

Study from terminal main title

Study your flash card from the terminal using Sebastian Leitner's algorithm!

Summary

  1. Try it!
  2. Features
  3. Technical features
  4. Improvements
  5. Credits

Try it!

Run the executable (studyterminal.jar)

  • Download and install java.
  • Open a terminal at the root of the project directory and type java -jar studyterminal.jar from there.

Compile and run the program

javac -d bin -cp "lib/gson-2.8.6.jar" -sourcepath src src/studyterminal/Program.java
java -cp "bin:lib/gson-2.8.6.jar" studyterminal.Program

Compile and run the tests

javac -d bin -cp "bin:lib/gson-2.8.6.jar:lib/junit-platform-console-standalone-1.11.0-M2.jar" -sourcepath tests $(find tests -name "*.java")
java -cp "bin:lib/gson-2.8.6.jar:lib/junit-platform-console-standalone-1.11.0-M2.jar" org.junit.platform.console.ConsoleLauncher --scan-class-path

Features

The algorithm used is the one developped by Sebastian Leitner.
Features :

  • Add cards to the box.
  • Remove cards from the box.
  • Review the cards of the day.
  • View statistics about your performances of the day.
  • Store the "box" of cards for later revisions.

Technical features

  • Publish - Subscribre pattern for the updates of the statistics.
  • Command pattern for the actions to be taken by the users.
  • Test suite of ~80 tests using JUnit (standalone) and FakeClasses.
  • Efficient collections usage for fast execution and low memory footprint.

Improvements

  • The program does not allow to simply revise all the cards of the box. The feature should not be hard to implement since it only requires to add a new Command.

Credits

  • Simon Gardier (Author)
  • Nicolas Hendrix (studyterminal.consoles package author)

About

📝Study your flash card from the terminal

https://en.wikipedia.org/wiki/Flashcard


Languages

Language:Java 100.0%