110 lines
4.7 KiB
Markdown
110 lines
4.7 KiB
Markdown
|
|
[![Pipeline status][badge-pipeline]][pipeline]
|
|
[![Code coverage][badge-coverage]][code-coverage]
|
|
[![Project page][badge-projectpage]][project-page]
|
|
[![Download][badge-download]][download]
|
|
[![Gitpod][badge-gitpod]][gitpod]
|
|
|
|
# Flashy
|
|
|
|
<div align="center">
|
|
<img src="../graphics/logo_with_word_300.png" alt="Project logo" width="300"/>
|
|
</div>
|
|
|
|
## 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](../gr2141/docs/userstory/userstory.md)**
|
|
|
|
## Previews:
|
|
|
|
### Main page:
|
|
|
|
<div align="center">
|
|
<img src="../graphics/main_page_draft.PNG" alt="Main page" />
|
|
</div>
|
|
|
|
### Flashy in action:
|
|
|
|
<div align="center">
|
|
<img src="../graphics/flashy_in_action.PNG" alt="Flashy in action" />
|
|
</div>
|
|
|
|
<sup><sub>Note: these images are just a concepts, the application may look a little different at release.</sub></sup>
|
|
|
|
## Usage
|
|
|
|
To use the application, you can download and run the jar file found in the **[latest release][latest-release]**.
|
|
|
|
You can also use the [![Download][badge-download]][download] badge to download the latest version. Note that this might be unstable.
|
|
|
|
To run it, you're going to need do download **[Java][java-download]**.
|
|
|
|
### **Development requirements**
|
|
|
|
The easiest solution to get the development environment up and running, is to open the project in [Gitpod][gitpod]
|
|
|
|
If you want to work on it locally, you're going to need the following things:
|
|
|
|
- [A working installation of Maven 3][install-maven]
|
|
- [JDK 16 or higher][install-openjdk]
|
|
|
|
#### **Launch with JAR**
|
|
|
|
You can start the project by running either [`run.bat`](./run.bat) (windows), or [`run.sh`](./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:
|
|
|
|
```bash
|
|
$ 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:
|
|
|
|
```bash
|
|
$ mvn compile
|
|
$ 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][module-core] | The base classes and logic used everywhere in the application |
|
|
| [FXUI][module-fxui] | The desktop application |
|
|
| [Report][module-report] | A special module used to generate code coverage reports |
|
|
| [Packaging][module-packaging] | A special module used to package the code into a runnable JAR |
|
|
| .... | (More modules are probalbly coming) |
|
|
|
|
#### **API (Coming soon)**
|
|
|
|
This application also has an API, which makes it easy to extend the application to other platforms, like websites or phone apps.
|
|
|
|
|
|
[badge-pipeline]: https://gitlab.stud.idi.ntnu.no/it1901/groups2021/gr2141/gr2141/badges/master/pipeline.svg
|
|
[badge-coverage]: https://gitlab.stud.idi.ntnu.no/it1901/groups2021/gr2141/gr2141/badges/master/coverage.svg?
|
|
[badge-projectpage]: https://img.shields.io/badge/Docs-Project%20Page-blue
|
|
[badge-download]: https://img.shields.io/badge/Download-JAR-purple
|
|
[badge-gitpod]: https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod
|
|
|
|
[pipeline]: https://gitlab.stud.idi.ntnu.no/it1901/groups2021/gr2141/gr2141/-/pipelines
|
|
[code-coverage]: https://it1901.pages.stud.idi.ntnu.no/groups2021/gr2141/gr2141/jacoco-aggregate/index.html
|
|
[project-page]: https://it1901.pages.stud.idi.ntnu.no/groups2021/gr2141/gr2141/index.html
|
|
[download]: https://it1901.pages.stud.idi.ntnu.no/groups2021/gr2141/gr2141/flashy.jar
|
|
[gitpod]: https://gitpod.stud.ntnu.no/#https://gitlab.stud.idi.ntnu.no/it1901/groups2021/gr2141/gr2141
|
|
|
|
[java-download]: https://www.java.com/en/download/
|
|
[latest-release]: https://gitlab.stud.idi.ntnu.no/it1901/groups2021/gr2141/gr2141/-/releases/latest
|
|
[install-maven]: https://maven.apache.org/download.cgi
|
|
[install-openjdk]: https://jdk.java.net/16/
|
|
|
|
[module-core]: ./core
|
|
[module-fxui]: ./fxui
|
|
[module-report]: ./report
|
|
[module-report]: ./packaging |