A simple terminal app to help you study with flashcards.
The app will read all the info that you have on your json file that represents every flashcard deck that you want to study. Then the app will present a list of subjects (based on what you defined in the json file) You will select a subject based on it's name or it's id After that you will select how many cards you want to the current study session
Tip: you can pass the number of cards directly through arguments when starting the app using
termicards number_of_cards
Then the questions will be presented and you will answer then At the end a summary of your answers alogside with previous answers will be displayed and the file will be updated with the answers
Node.js - with the version 20.0.0
- Download or clone this repo
git clone git@github.com:oicassi/termicards.git- Access the directory
cd termicards- Create a
cards.jsonfile that will hold the decks and flashcards. Follow the structure of thecards.example.jsonin thesrc/assetsdirectory
touch src/assets/cards.json
nano src/assets/cards.json
# You can use whatever text editor you want.
# Don't forget to follow the json structure of the cards.example.json file
3. Give execution permission to `install.sh`
```bash
chmod +x ./install.sh- Execute installation script
./install.shThe installation script will copy the application to the node global executables directory, install dependencies and create a symlink
Simple execute the application by typing it's name on terminal: termicards
Optionally you can execute the application passing the amount of cards you wat to study in that session. To do this, simple pass the number after executing the application's command:
termicards 5 # This will start the study session with 5 cardsIn order to update the cards.json file in you installation directory, update the file in this project and then execute the script update_cards.sh
Don't forget to add execution permission to
update_cards.shwithchmod +x ./update_cards.sh
- This application is in early access. So bugs may occur
- If you inform an amount of cards that is greater than the amount of cards that is defined in the
cards.jsonfile, the amount of cards defined incards.jsonfile will be use instead - Don't forget to create you
cards.jsonfile in thesrc/assetsdirectory according to the structure defined in the example json file:src/assets/cards.example.json
cards.jsonsegregation - Allow the user to split the decks and subjects into multiple files- If the selected amount of cards is greater than the amount of cards registered in the deck, repeat cards to fill the desired amount
- Add a way to just see a summary of the results
- Add a better and easier way to create and update cards
- Connect to some generative AI to check if the user's answer is corrrect