Flashy
About
Flashy is an application which can help you make and memorize flashcards. It's meant to be used as a study tool, that keeps track of all your sets of flashcards.
A more in depth description of flashy's features can be found in the user story
Previews:
Main page:
Flashy in action:
Note: these images are just a concepts, the application may look a little different at release.
Architecture
Link to Architecture.wsd is found here: architecture
Download
To use the application, you can download and run the jar file found in the latest release.
You can also use the badge to download the latest version. Note that this might be unstable.
To run it, you're going to need do download Java.
Usage
To use the application, you can open the jar file directly.
If you would rather want to open the application in remote mode, see API
Development requirements
The easiest solution to get the development environment up and running, is to open the project in Gitpod
If you want to work on it locally, you're going to need the following things:
Launch with JAR
You can start the project by running either run.bat (windows), or run.sh (mac, linux, etc...). This will compile the application into a jar-file, which will end up in target, and then execute it. After running this script once, you will also be able to launch the jar-file directly in the file explorer, or by opening a terminal in the current directory and execute this command:
$ java -jar flashy/target/flashy.jar
Launch Manually
If you want to run the application manually without creating a jar file, open a terminal in the current directory, and execute the following commands:
$ mvn install -Dmaven.test.skip=true
$ cd fxui
$ mvn javafx:run
Note: Each time you update code outside of the fxui directory, you will need to move out to the current directory and run mvn clean compile before running mvn javafx:run inside fxui again.
Modules
This project is split into modules. Each module is responsible for separate parts of the application.
| Module Name | Description |
|---|---|
| Core | The base classes and logic used everywhere in the application |
| FXUI | The desktop application |
| REST | The REST API server |
| Report | A special module used to generate code coverage reports |
| Packaging | A special module used to package the code into a runnable JAR |
REST API
This application also has a REST API, which makes it easy to extend the application to other platforms, like websites or phone apps.
To start the REST server, you can run
$ java -jar flashy/target/flashy.jar --server
or start it manually by executing
$ mvn install -Dmaven.test.skip=true
$ cd rest
$ mvn exec:java
Then you can start the app in remote mode by running
$ java -jar flashy/target/flashy.jar --remote
For more options, see
$ java -jar flashy/target/flashy.jar --help

