Skip to content

Repository files navigation

πŸ“– Japanese Dictionary & Kanji Learning Platform

A lightweight, offline-first Japanese learning desktop application built with Java, JavaFX, and SQLite.

Designed for Japanese learners who want fast Kanji lookup, personal vocabulary tracking, and a distraction-free study experience β€” without depending on an internet connection.

Java JavaFX SQLite Maven License


✨ Features

  • πŸ” Kanji Lookup β€” Quickly search and view Kanji information
  • πŸ‡¬πŸ‡§ English Meaning Search β€” Find Kanji using English meanings
  • ⭐ Bookmarks β€” Save Kanji for later study
  • 🈢 Kanji Information β€” View Onyomi, Kunyomi, meanings, stroke count, and related information
  • πŸŒ™ Dark & Light Themes β€” Switch between themes based on your preference
  • πŸ’Ύ Persistent Local Data β€” Bookmarks and user data are stored locally
  • ⚑ Fast Local Search β€” SQLite-powered search without network requests
  • πŸ“Ά Fully Offline β€” No internet connection required
  • πŸ’» Cross-Platform β€” Supports Windows and Linux
  • πŸ“¦ Native Installers β€” Distributed as Windows .msi and Linux .deb packages

πŸ“Έ Screenshots


🎯 Motivation

I built this application while learning Japanese and preparing for the JLPT N5.

I wanted a desktop application that was:

  • Fast
  • Lightweight
  • Completely offline
  • Focused on Kanji learning
  • Available on both Windows and Linux

Instead of relying on a web-based dictionary, this project provides a local learning environment with persistent user data and a native desktop experience.


πŸ—οΈ Architecture

The application follows the Model–View–Controller (MVC) architecture.

                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚      User       β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                             β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   JavaFX UI     β”‚
                    β”‚      View       β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                             β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   Controller    β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                             β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚     Model       β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                             β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚ SQLite Database β”‚
                    β”‚      JDBC       β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The UI is separated from database operations, allowing the application logic and persistence layer to remain independent of the JavaFX interface.


πŸ› οΈ Technology Stack

Category Technology
Language Java
UI Framework JavaFX
Database SQLite
Database Access JDBC
Build System Maven
UI Theme AtlantaFX
Packaging jpackage
Version Control Git / GitHub

πŸ“‚ Project Structure

src/
β”œβ”€β”€ model/
β”œβ”€β”€ controller/
β”œβ”€β”€ database/
β”œβ”€β”€ ui/
β”œβ”€β”€ utils/
└── resources/

The project is organized around the MVC architecture with dedicated components for models, controllers, database operations, UI components, utilities, and application resources.


πŸ“¦ Installation

Windows

Download the latest .msi installer from the Releases page.

  1. Download the installer.
  2. Run the .msi file.
  3. Follow the installation wizard.
  4. Launch the application from the Start Menu.

Linux

Download the latest .deb package from the Releases page.

Install it with:

sudo dpkg -i japanesedictionary_*.deb

If dependencies are required:

sudo apt install -f

Then launch:

japanesedictionary

πŸ”¨ Building From Source

Requirements

  • JDK 25
  • Maven
  • Linux or Windows

Clone the repository:

git clone https://github.com/SuperAnand67/Japanese-Dictionary-JavaFX.git
cd Japanese-Dictionary-JavaFX

Build:

mvn clean package

Run:

mvn javafx:run

πŸ’Ύ Data & Privacy

The application is designed to work entirely locally.

User data such as bookmarks is stored in a local SQLite database. The application does not require an external server or continuous internet connection for its core functionality.


πŸ›£οΈ Roadmap

βœ… Completed

  • Offline Kanji Dictionary
  • English Meaning Search
  • Bookmark System
  • Dark / Light Themes
  • Native Windows Installer
  • Native Linux Package
  • Maven Migration
  • MVC Refactoring
  • Cross-platform Support

🚧 Planned

  • Radical (部首) Search
  • JLPT Vocabulary Lists
  • Example Sentences
  • Furigana Support
  • Flashcards
  • Search History
  • Bookmark Import / Export
  • Audio Pronunciation
  • Stroke Order Animations

πŸ“‹ Version History

See CHANGELOG.md for the complete project history.

Recent development includes:

  • v1.4.0 β€” AtlantaFX themes, dark/light theme switching, theme persistence, Maven migration, and project restructuring
  • v1.3.0 β€” Kanji management improvements, tooltips, navigation redesign, and ListView performance improvements
  • v1.2.0 β€” Bookmarks and native Windows/Linux packaging
  • v1.1.0 β€” MVC architecture and database separation
  • v1.0.0 β€” Initial release

🀝 Contributing

Contributions, bug reports, feature requests, and suggestions are welcome.

If you would like to contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Commit your changes
  5. Push the branch
  6. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License.

See LICENSE for the full license text.


πŸ‘¨β€πŸ’» Author

Anand P

Computer Science Engineering Student β€’ Java Developer β€’ Linux Enthusiast

GitHub: @SuperAnand67


Built with β˜• Java and ❀️ for Japanese learning.

Releases

Packages

Contributors

Languages