app/README.md

2.5 KiB

Study Card Tool

A handy tool for vocabulay study and learning through repetition.

License

GNU Affero General Public License version 3.0: https://www.gnu.org/licenses/agpl-3.0.en.html

Development requirements

Running a develpoment environment

  1. Clone repository: git clone https://git.studycardtool.org/tcoh/app.git studycardtool
  2. Enter local repository folder: cd studycardtool
  3. Install dependencies: yarn
  4. Run development mode: yarn start

Deploying your own

  1. Go to https://landchad.net/ and follow the "Start a website" tutorial.
  2. Run yarn build to generate a build folder
  3. Deploy contents of build folder onto /var/www/yoursite according to what site you have enabled on nginx
  4. If you have modified the project, make sure you also share a link to your modified repository.

Contributing

Register onto this gitea service either through a local account or a federated account. Bug reports, comments, design ideas and code contributions are welcome.

Much-needed improvements from most critical to least critical

  • Better PWA lifecycle management
    • Don't attempt to register right away
    • Inform user of updates and easy way to reload the updated app
  • Clear usage instructions
  • Better error indication
  • Data model update management
    • Cleanly handle old data without destroying important user data
    • Upgrade what can be upgraded, add "old" category labels to cards that may be missing newer information
  • Better parsing of Wiktionary data
    • Handle declension tables
    • Handle more word languages
    • Handle different description languages (can't be done with current method because element IDs change between languages)
  • Configuration of acceptable card sections
  • Data backups as downloadable files, ability to add card packs from a file

Other ideas

Other ideas and use cases for the app may be welcome. If the idea departs a lot from this app, it may be wiser to discuss with me first before sinking too much time into it if you are hoping to merge it into the mainstream, or forking the project for the different usage cenario.

Two small tools to doing two different tasks well is better than one big tool doing two tasks poorly.

Potentially bannable "contributions"

Attempts to merge any of these will be declined and may result in a ban from this repository:

  • "Register/login to continue"
  • "Register/login for more functionality"
  • "Analytics"
  • Showing ads or any other forms of in-app "monetization"