Git Product home page Git Product logo

hakubun's Introduction

Hakubun

A cross-platform, third-party Japanese Study App for Wanikani

Overview

Hakubun is a Japanese learning app that can be used with Wanikani, an SRS-based Japanese learning service. Learn and review radicals, kanji, and vocabulary, easily search for subjects, and explore content across levels.

Download the App

The iOS and web versions are still being tested, but the alpha version Android is available on the Play Store through early access!

Interface

  • Use swipe gestures or keyboard shortcuts to submit or retry answers
  • Cross-platform, web-based app with native-like interactions and animations

Reviews and Lessons

  • Review or learn by subject
    • Radical, kanji, vocabulary, kana vocabulary
  • Select specific items to review or learn
  • Shuffle or sort by SRS stage, level, available date
  • Option to filter subjects by current level
  • Typo tolerance

Reviews

  • Back to back ordering: change card order in queue
    • Meaning then reading
    • Reading then meaning
    • Disabled (shuffled)
  • Wrap-up mode: finish up the reviews you started on, unreviewed are removed from queue

Privacy Policy/Information Collected

Hakubun uses Logrocket, a log collecting tool, to detect common errors that users are experiencing.

This means the following information may be stored:

  • Username
  • Errors encountered
  • User actions in app (for example: how often user visits a page)

The following information is NOT stored and I will never be able to access to it:

  • API tokens
  • User location data
  • User's name or other sensitive data

Please email me if you have any questions or concerns about how/what data is stored.

Screenshots

Home

home page subject popover review forecast

Lessons

basic lesson settings advanced lesson settings advanced lesson settings with filters lesson quiz lesson session, card with 'correct' popover after user input lesson summary, shows user what items they learned

Reviews

basic review settings advanced review settings with filters correct review item after user input retrying a review after a bad typo moving to the next item in review queue Viewing subject info in bottom sheet for subject during review dialog with cancel, end session, and wrap up options for when user attempts to leave page before completing all reviews overlay of checkered flag displaying after 'wrap up' is selected summary of reviews items user got correct and incorrect

Subjects

subjects page with radicals, kanji, and vocabulary where you can browse the levels subjects page scrolled down to view vocabulary for level

Search

empty search box with Hakubun crabigator asking user to search for something search box with nonsense input, Hakubun crabigator saying 'no results' while looking distressed search box with 'cat' input and long list of results to choose from

Subject Details

subject details page for vocabulary with user-added meaning subject details page for vocabulary, showing context sentences with translations that can be hidden and shown subject details page for kanji with user entering their own meaning note subject details page for kanji with saved meaning note by user, displaying reading section below

Building the App

Make sure to run npm install before trying the steps below!

Web Version

Building using this method for general development is highly recommended over the iOS and Android methods, it's much easier to debug and inspect changes. Running the app with iOS and Android simulators is only recommended to double-check that the changes you made are compatible with both platforms.

Start server:

npm run start

The app should then be available at http://localhost:5173/

iOS and Android Simulators (with Hot Reload)

If below doesn't work, check that network URL after displayed after running npm run start-exposed matches the URL in the capacitor.config.ts file

Start server in one terminal:

npm run start-exposed

Then run the script for the platform in another terminal:

iOS

npm run ios-live-reload

You can then select the type of iOS device you'd like to use as a simulator

To view debug info (inspect elements, view console output)
  • If you've never done this before, you'll likely have to the make sure "Show features for web developers" is enabled under Safari's Settings

    Safari settings displaying Show features for web developers setting
  • Open Safari and click the iOS simulator for Hakubun under Develop -> iOS device you chose as simulator -> IP address displayed. If this is not displayed, make sure you followed the previous step. If it's still not displayed, opening Xcode can sometimes make it appear selecting iOS simulator inspecting iOS simulator

Android

npm run android-live-reload
To view debug info (inspect elements, view console output)
  • In Chrome, go to chrome://inspect/#devices
  • An address should be available under "Remote Target", you can click on "inspect" to bring up a web inspector. This can be used to inspect elements and view console output remote targets in Chrome web inspector in Chrome for Android device

Running Fastlane

Fastlane is a tool used to build the Android and iOS apps for Hakubun

To run android lanes:

fastlane android <LANE>

To run iOS lanes:

fastlane ios <LANE>

hakubun's People

Contributors

salemlf avatar dependabot[bot] avatar jyo142 avatar

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.