Skip to content

BeMacized/ShiraKamiSRS

Repository files navigation



Open source, self-hostable SRS for studying Japanese vocabulary.

Latest Version Production Build Status Testing Build Status Discord License

This is the main repository for ShiraKamiSRS. It is an open source, self-hostable Spaced Repetition System (SRS) specifically geared towards learning Japanese vocabulary, heavily inspired by WaniKani.

Want to get started? A publicly hosted instance is available over at shirakamisrs.com!

Note: Currently, ShiraKamiSRS is still in its very early stages. A lot of very basic/obvious functionality is still missing. Check out what is planned here!

Features

The main highlights:

  • 📚 Learning your own vocabulary
    Build your own cards and sets.
  • ⌨️ Built-in IME
    For easily typing hiragana and katakana.
  • 🏘️ Completely self-hostable
    For if you prefer running things on your own server.
  • 🚀 Set repositories
    Easily import pre-built sets. Anyone can host repositories to share sets!
  • 🦺 Importing/Exporting sets
    Easily back up your progress, or move your data to a different instance.
  • 📱 Mobile friendly interface
    Do your reviews on the go!
  • 🌘 Built-in dark mode
    Join us on the dark side. We have kitties!

Built With

ShiraKamiSRS has been built with Angular and NestJS.

Getting Started

Roadmap

Currently, ShiraKamiSRS is still missing a lot of basic features. I probably have more things I still want to do than I could list here, but I do think it is important to list a few major ones so it is known they are still coming. In no particular order:

  • User Settings
    Currently there is no way for users to manage their own settings. In the future, users should be able to change their account information such as their email, username, or avatar.
  • User Management
    Especially for people who administer their own instance of ShiraKamiSRS, it would be useful to be able to manage their users.
  • Skipping/Ignoring lessons
    Sometimes it would be useful to ignore or skip a lesson, especially when there is some overlap between cards. Currently the only way to do this is to delete the card from your set.
  • User synonyms
    It would be useful if users could add their own synonyms, without having to make their changes part of the card.
  • Bug fixes
    There are still quite a few bugs, some of which I know about and some I don't.

If you have any other features you would like to suggest, or bugs you found that need to be fixed, feel free to submit an issue or come talk over in the Discord!

Contributing

Do you want to contribute? Great! Additional help is always appreciated, whether it be building card sets for the public set repository, writing documentation, fixing bugs, or even implementing whole new features. If you have any questions, feel free to submit an issue or come talk over in the Discord!

I currently don't really have any contribution guidelines, but I'm sure we can figure it out.

If you are looking to contribute in a technical way, have a look at Setting up your development environment.

License

ShiraKamiSRS is available under the GNU GPL-3.0 license.