Giter Club home page Giter Club logo

sakubun's Introduction

Sakubun

Sakubun is intended to be a tool to help people practice kanji and improve their Japanese vocabulary. The main target audience is people who are learning kanji, but don't yet know enough to practice efficiently using real-world material like news articles, manga, or light novels.

The way sakubun solves the problem of too many unknown kanji is by storing a list of what kanji you've learnt so far, so that it can give you practice sentences that use only those kanji.

The backend is written in rust, and the web server is powered by rocket. The scripts directory has some scripts that were used to fetch data and stuff, but isn't used by the actual web app.

Quiz

There's a collection of over 130K sentences (with English translations) taken from the tatoeba project you can practice with. Kuroshiro is used to generate kana readings and evaluate user responses, and WanaKana is used to provide a rudimentary IME to type the answers.

Custom Text

You can copy-paste Japanese text from anywhere, to get furigana over just the words that have kanji you don't know yet. The furigana is again generated with kuroshiro, like the kana readings in the quiz.

Screenshots

Home page, on desktop Quiz page, on desktop Custom text page, on desktop Quiz page, on mobile with light theme

sakubun's People

Contributors

cubetastic33 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sakubun's Issues

Can't import old kanji

I'm on an android phone, and after I first download the file after pressing export on old site, there is a brief moment I can open the file (in the browser I assume). You can see it in the photo below, it says "aƧ" in the top right. The text looks bizarre, and when I import it nothing happens.
Screenshot_20220901-042822_Chrome
Screenshot_20220901-042833_Chrome

I also tried to open the file directly in the files, but it says my phone can't open it.

Screenshot_20220901-042846_My Files

`Uncaught ReferenceError: wanakana is not defined`

Thanks for the great tool!

For the past couple of days, I've been seeing this error in the console with quizzes. Clicking on the quiz button doesn't do anything as a result. Getting the same result on Firefox, Safari, and Chrome:

Uncaught ReferenceError: exports is not defined
    <anonymous> https://unpkg.com/wanakana:3
[wanakana:3:1](https://unpkg.com/wanakana)
Uncaught ReferenceError: wanakana is not defined
    get_questions https://sakubun.herokuapp.com/scripts/quiz.js:122
    jQuery 4
        c
        fireWith
        l
        o
[quiz.js:122:17](https://sakubun.herokuapp.com/scripts/quiz.js)
    get_questions https://sakubun.herokuapp.com/scripts/quiz.js:122
    jQuery 4
Source map error: Error: request failed with status 404
Resource URL: https://unpkg.com/wanakana
Source Map URL: index.js.map

Admin password stored in plain-text

src/main.rs compares user provided admin password with ADMIN_PASSWORD env var directly, instead of hashing the input and comparing it with a hashed admin password. Should the hosting provider or this application be comprimised, the admin password would be leaked easily. No passwords should be stored by the application.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    šŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. šŸ“ŠšŸ“ˆšŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ā¤ļø Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.