Go to file
2022-08-11 22:15:40 +03:00
.husky Add lint-staged as dev dependency instead of running through npx 2022-08-10 20:45:56 +03:00
.storybook Switch to single-page vanilla React app, add PWA support 2022-08-10 01:36:26 +03:00
public Use 'study card tool' as the name for the app 2022-08-10 07:27:25 +03:00
src Destroy cards that are considered "learned" 2022-08-10 19:08:17 +03:00
.eslintrc.json Switch to single-page vanilla React app, add PWA support 2022-08-10 01:36:26 +03:00
.gitignore Switch to single-page vanilla React app, add PWA support 2022-08-10 01:36:26 +03:00
.prettierignore Add prettier tool, prettify code 2022-08-10 00:20:31 +03:00
.prettierrc.json Add prettier tool, prettify code 2022-08-10 00:20:31 +03:00
LICENSE Initial commit 2022-08-10 00:20:21 +03:00
package.json Add lint-staged as dev dependency instead of running through npx 2022-08-10 20:45:56 +03:00
README.md Update README.md with project-relevant content 2022-08-11 22:15:40 +03:00
tsconfig.json Initial commit from Create Next App 2022-08-10 00:20:31 +03:00
yarn.lock Add lint-staged as dev dependency instead of running through npx 2022-08-10 20:45:56 +03:00

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 tool
  • 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 tool may be welcome. If the idea departs a lot from this toll, 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.