Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

107 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Japanese dictionary

Seeing "n/a" means there is no image associated with a mnemonic. No longer deployed.

Description

This creates and displays a dictionary of essential Japanese words. It displays words next to their definition, hiragana spelling, and kanji composition. Next to each kanji, it displays possible kanji meanings and the kanji's radical. Next to each radical, it displays possible radical meanings and a visual mnemonic to see where in nature the radical could stem from.
This dictionary could have many uses but I created it to aid me in my quest to learn Japanese.
image

image

Demo

Demo.mp4

Running it locally

These instructions are only for the SQLite version.
Install all dependencies:

pip3 install -r requirements.txt

Create the databases:

python3 words.py
python3 kanji.py
python3 radicals.py

Run the application:

flask run

Architecture

The architecture depends on 3 databases:

  • One for 8474 words, their spelling, and their definitions.
  • A second for 1234 kanji, their meanings and their radicals.
  • And a third for 319 radical characters, their meanings, and their mnemonics.

Note that there are only 214 unique radicals, but a radical may have more than one character associated with it (different versions of the same radical).
The backend is managed using Flask.
The application is hosted using Gunicorn and it's made available online using NGINX.
All components are deployed on an EC2 Ubuntu T2 instance.

Architecture

SQL tables

What's next

Styling

Change ( characters for ( in the radical meaning column.
Styling the tables.

Features

Adding a search bar.
Add a romanji spelling column for words. Use the romkan library to render the column.
Think about a computer vision algorithm to identify the non-radical "building blocks" of kanji.

Deployment

Get a custom domain name.
Make Gunicorn and NGINX bootup routines, so if the instance restarts for any reason, the app will go back online.

Credits

I developed this using the Kanji alive data, which is publicly available on https://github.com/kanjialive/kanji-data-media.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages