# 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 - node 14 or later: https://nodejs.org/en/ - yarn 1.22 or later: https://yarnpkg.com/ ## Running a develpoment environment 1. Clone repository: `git clone https://git.studycardtool.org/tcoh/app.git studycardtool` 1. Enter local repository folder: `cd studycardtool` 1. Install dependencies: `yarn` 1. Run development mode: `yarn start` ## Deploying your own 1. Go to https://landchad.net/ and follow the "Start a website" tutorial. 1. Run `yarn build` to generate a build folder 1. Deploy contents of `build` folder onto `/var/www/yoursite` according to what site you have enabled on nginx 1. 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"