do you know where the countries are?
Play the free online practice game
- Spaced-Repetition based selection of which country should be learned
- As the learner gets better, they have to find a given country with more precision
- Detailed statistics about how learning a country is going
- WIP: Daily Challenge Mode
- Planned: Custom Playlist Mode to practice exactly what you want to practice
First of all: Feedback is welcome, bug reports are welcome, contributions are welcome. If anything's unclear, head over to issues and write what's on your mind.
- Clone the repository
- Make sure you have
npm
installed - Run
npm i
- Run
npm run dev
and open the displayed link in your browser
The actual app, a frontend-only web app using Vue.js
This project follows a module-based approach, similar to the one explained in this video.
You will not find folders such as composables/
or components/
here, as is custom in many vue projects.
Instead, code is separated across features, with the intent that changes to feature X or use case Y can be done in the
folder dedicated for it, instead of all across the codebase.
You can find per-folder documentation for important directories in the .doc.md
of the given folder. Alternatively, use the list below to directly jump to the relevant documentation:
A small collection of scripts generating and transforming some data for convenience. These are ran during development to support features such as exposing all countries in a certain continent. The resulting data is committed to source and contained within src/
. There should be no reason to re-run these.
I recommend using venv
when running python scripts. Always run python scripts from source, otherwise filepaths in the scripts will get confused.
For now, there are some E2E tests, which were recorded with Playwright.
You'll find them in the tests/
directory.
To run them, execute the app with the test env var set, by running:
npm run testdev
Leave this running, and in another terminal, run the tests:
npm run test:e2e