app/README.md

2.1 KiB

Study Card Tool

A handy tool for vocabulay study and learning through repetition.

License

GNU Affero General Public License: 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

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"