app/README.md

57 lines
2.1 KiB
Markdown

# 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"