GoldenChrysus / KarutaSRS

Rails and Ember spaced repetition system for memorizing the Ogura Hyakunin Isshu or the one hundred poets/poems used in kyogi karuta.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Karuta SRS

Rails and Ember spaced repetition system for memorizing the Ogura Hyakunin Isshu or the one hundred poets/poems used in kyogi karuta.

GitHub GitHub package.json version KarutaSRS.com GitHub last commit (branch) GitHub package.json dynamic

Funding

Donate on Cash App Donate at PayPal Donate at Ko-fi Become a Patron Donate at Streamlabs

Official Build

You can use all of the features of Karuta SRS at https://karutasrs.com/.

To-Do List

  • ☑️ Grabber card component
    • ☑️ Highlight grabber key characters based on state (learning: blue, review correct: lime green, review incorrect: light red)
    • ☑️ Fade in characters when character is added (for typing answers in review)
  • ☑️ Lesson component
    • ☑️ Info grid (poem info and grabber card)
      • ☑️ First verse
      • ☑️ Kimariji
      • ☑️ 2nd verse key characters
      • ☑️ Reading audio
      • ☑️ Poem background info
      • ☑️ Poem translations
  • ☑️ Lesson carousel component
    • ☑️ Sliding lesson components
    • ☑️ Lesson selector component
      • ☑️ Indicate complete lesson
      • ☑️ Show button to lesson review when complete
  • ☑️ Review component
    • ☑️ Hiragana input below grabber
    • ☑️ Play reading audio for grabber reviews
    • ☑️ Randomize review queue
      • ☑️ User's overall queue should be split into segments to ensure related items are fairly close together
        • ☑️ Each review queue segment should be a continuous 20 items for 10 poems (i.e. grabber and kimariji for each poem)
        • ☑️ After an item leaves the queue (due to correct answer), another poem from the total queue should be added to the segment
        • ☑️ Repeat until total queue is empty or user ends the session
      • ☑️ A review consists of a kimariji review and a grabber review
      • ☑️ Each review portion should also be randomized
    • ☑️ Prompt for kimariji
      • ☑️ Show complete grabber card (but no highlighting)
      • ☑️ Kimariji portion of review is complete if entered characters exactly match kimariji
    • ☑️ Prompt for grabber key characters
      • ☑️ Empty grabber card that fills out (or removes) characters as the user types their answer
      • ☑️ Highlight right/wrong characters after user presses enter
      • ☑️ Grabber portion of review is complete as long as key characters are correct (even if other characters are wrong)
    • ☑️ Track when review is complete
      • ☑️ For lesson reviews, create a learned item when the review is complete
      • ☑️ For regular reviews, post the number of wrong answers to API to update the learned item
  • ☑️ Session and security
    • ☑️ User is assigned a bearer token upon creation
    • ☑️ Relevant user data (id, bearer) should be stored as session data when ember-simple-auth completes, and user should redirect to dashboard
      • ☑️ When user logs in
      • ☑️ When user registers
    • ☑️ All calls to the API should include the current user's bearer in the header
    • ☑️ API call should be rejected if the relevant user for the called item does not match the bearer provided
      • ☑️ Calls to learned-items should be rejected if the owner of the learned item doesn't match the provided bearer
      • ☑️ Calls to users should be rejected if the fetched user's bearer doesn't match the provided bearer
        • ☑️ Also applies to custom controller methods such as those that build the lesson/review queues; these need an AJAX prefilter as the calls are not routed through Ember's adapter
  • ❌ User stats
    • ☑️ Dashboard stats
      • ☑️ Next review time
      • ☑️ Number of items per level
      • ☑️ Best items (by correct answer rate)
      • ☑️ Worst items (by incorrect answer rate)
    • ❌ Review index stats
      • ☑️ Total number of reviews completed (1 poem = 1 review)
      • ☑️ Kimariji correct/incorrect percent
      • ☑️ 2nd verse correct/incorrect percent
      • ☑️ Performance (correct answer rate) by kimariji length
      • ☑️ Performance ("") by 2nd verse answer length
      • ☑️ Average correct response delay
      • ☑️ Average response delay
      • ❌ Ability to select time range
        • ❌ Unlimited time range will show correct answer rate over time

License

GNU General Public License v3.0 only

Copyright

Copyright (C) 2019-2020, Patrick Golden. All rights reserved.

Copyrights licensed under GNU General Public License v3.0 only.

See the accompanying LICENSE file for terms.

About

Rails and Ember spaced repetition system for memorizing the Ogura Hyakunin Isshu or the one hundred poets/poems used in kyogi karuta.

License:GNU General Public License v3.0


Languages

Language:JavaScript 53.7%Language:Less 32.9%Language:Ruby 11.4%Language:Handlebars 1.6%Language:HTML 0.3%Language:CSS 0.1%