From 250a126acddbb0a20b0701cd4ffcedf605df5f24 Mon Sep 17 00:00:00 2001 From: Thiago Chaves Date: Wed, 10 Aug 2022 20:46:08 +0300 Subject: [PATCH] Update README.md with project-relevant content --- README.md | 61 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 41 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index c87e042..ff8a6ee 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,55 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). +# Study Card Tool -## Getting Started +A handy tool for vocabulay study and learning through repetition. -First, run the development server: +## License -```bash -npm run dev -# or -yarn dev -``` +GNU Affero General Public License version 3.0: https://www.gnu.org/licenses/agpl-3.0.en.html -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. +## Development requirements -You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file. +- node 14 or later: https://nodejs.org/en/ +- yarn 1.22 or later: https://yarnpkg.com/ -[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. +## Running a develpoment environment -The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. +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` -## Learn More +## Deploying your own -To learn more about Next.js, take a look at the following resources: +It should be possible to host studycardtool in any static file server. -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. +1. Run `yarn build` to generate a build folder +1. Deploy contents of `build` folder onto a static server -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! +If you need further advice you could can check the "start a website" tutorial at https://landchad.net/ -## Deploy on Vercel +## Contributing -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. +Register onto this gitea service either through a local account or a federated account. Bug reports, comments, design ideas and code contributions are welcome. -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. +## 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.