Skip to content

About

A cross‑platform Java application that helps students study with flashcards using the Leitner method.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Flashcards – Hexagonal Architecture Study Project

Architecture Screen

A cross‑platform Java application that helps students study with flashcards using the Leitner spaced‑repetition method.
The codebase was deliberately structured following the Hexagonal (Ports & Adapters) architecture, so every external concern (GUI, persistence, CLI, tests) is isolated from the core business rules.


🚀 Features

  • JSON import: load a set of ≥ 10 flashcards at once
  • Flip card: reveal the answer side on demand
  • Next / random card selection with repeat‑guard
  • Leitner practice flow: 5 boxes visited on a 1‑3‑5‑7‑9 day schedule
  • Progress tracking: see how many cards were answered correctly in the round
  • CRUD operations: create, edit, delete flashcards inside the app
  • Flashcard animation: visual colour change when flipping
  • Card exchange: export / import flashcards via JSON to share with friends
  • Desktop executable JAR (mobile prototype under review)

🛠️ Tech Stack

Layer / Module Technology
Core Domain Java 17, standard libraries
Primary Adapter (UI) JavaFX + FXML
Secondary Adapter (Persistence) JSON files handled with Gson
Build Maven
Architecture Hexagonal (Ports & Adapters)

⚙️ Installation

Prerequisites

  • JDK 17 or newer
  • JavaFX SDK matching your JDK version

Build & Run

# clone the repository
git clone https://github.com/leonardogrupioni/Java_Hexagonal_Architecture_FlashCardsLeitner.git
cd Java_Hexagonal_Architecture_FlashCardsLeitner

# build
mvn clean package

# run (adjust path to JavaFX)
java --module-path /path/to/javafx-sdk/lib      --add-modules javafx.controls      -jar target/Aplicacao_Flashcards.jar

👥 Authors

Name
Beatriz Lopes Rizzo
João Pedro Basso Coura
João Pedro Figols Neco
Júlia Gachido Schmidt
Leonardo Fajardo Grupioni

Course: Software Architecture (B.Sc. Computer Science – PUC‑SP)
Year: 2024
Instructor: Prof. Ítalo Santiago Vega

About

A cross‑platform Java application that helps students study with flashcards using the Leitner method.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages