| .husky | ||
| .storybook | ||
| public | ||
| src | ||
| .eslintrc.json | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.json | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| yarn.lock | ||
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
- Clone repository:
git clone https://git.studycardtool.org/tcoh/app.git studycardtool - Enter local repository folder:
cd studycardtool - Install dependencies:
yarn - Run development mode:
yarn start
Deploying your own
- Go to https://landchad.net/ and follow the "Start a website" tutorial.
- Run
yarn buildto generate a build folder - Deploy contents of
buildfolder onto/var/www/yoursite - 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. Issues, comments and pull requests 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 features
Attempts to merge any of these features will be declined and may result in a ban:
- "Register/login to continue"
- "Register/login for more functionality"
- "Analytics"
- Showing ads or any other forms of in-app "monetization"