An open API service indexing awesome lists of open source software.

https://github.com/hlorenzi/jisho-open

㊗️ Web frontend for the JMdict Japanese-English dictionary project, with study list support! -- https://jisho.hlorenzi.com
https://github.com/hlorenzi/jisho-open

api dictionary furigana japanese japanese-english japanese-language jisho jlpt jmdict jmnedict kana kanji kanjivg progressive-web-app pwa solid solid-js solidjs web webapp

Last synced: about 2 months ago
JSON representation

㊗️ Web frontend for the JMdict Japanese-English dictionary project, with study list support! -- https://jisho.hlorenzi.com

Awesome Lists containing this project

README

        

# Lorenzi's Jisho

Lorenzi's Jisho is a web frontend for the [JMdict](https://www.edrdg.org/wiki/index.php/JMdict-EDICT_Dictionary_Project) Japanese-English dictionary project!
It supports creating and sharing custom study lists with your searched words,
and you can export them in an [Anki](https://apps.ankiweb.net/)-compatible format.

It is live at https://jisho.hlorenzi.com

[![Discord][badge-discord-img]][badge-discord-url]

[badge-discord-img]: https://img.shields.io/discord/394999035540275222?label=Join%20the%20Discord%20server!&logo=discord
[badge-discord-url]: https://accounts.hlorenzi.com/redirect/discord

## License

I haven't chosen how to license this repository's code yet. Please only use it for personal reference.

## Local Development

To start:
* Use `node` version 16 (or greater).
* In all of `common/`, `backend/`, and `frontend/`, execute `npm install`.
* If you have MongoDB installed, in `backend/`, execute `npm run db-build` to download JMdict and build the database.

To work on the codebase, execute in parallel:
* In `backend/`, execute `npm run dev` to start the server in watch mode. You can pass arguments to select between a few options for internal services. Remember to pass as `npm run dev -- --option`.
* For the database service:
* `--db-mongo` Use MongoDB. This is the default.
* `--db-dummy` Use a dummy interface that returns empty results.
* For the authentication service:
* `--auth-dummy` Use a dummy service which lets you log in with any user ID. This is the default.
* `--auth-lorenzi`, `--auth-lorenzi-dev` Use Lorenzi's closed-source auth server. You probably won't have access to it, so use the dummy service.

* In `frontend/`, execute `npm run dev` to build and pack the frontend JavaScript files in watch mode.

* Finally, you can access the page through `http://127.0.0.1`.