This is a little website I've put together to allow me to easily make flash cards and quiz myself for memorization of:
Will be able to use it on:
It uses:
Here's a brief rundown: https://startupnextdoor.com/flash-cards-site-complete/
UI for listing cards. From here you can add and edit cards.
The front of a General flash card.
The reverse (answer side) of a Code flash card.
The set included in this project (cards-jwasham.db) is not my full set, and is way too big already.
Thanks for asking for my list of 1,792 cards. But it’s too much. I even printed them out. It’s 50 pages, front and back, in tiny text. It would take about 8 hours to just read them all.
My set includes a lot of obscure info from books I’ve read, Python trivia, machine learning knowledge, assembly language, etc.
I've added it to the project if you want it (cards-jwasham-extreme.db). You've been warned.
Please make your own set, and while you’re making them, only make cards for what you need to know. Otherwise, it gets out of hand.
If you don't want to run a server, you can simply use Anki or a similar service/app. Use this script to convert from my sets (SQLite .db file), or yours, to CSV:
https://github.com/eyedol/tools/blob/master/anki_data_builder.py
Thanks @eyedol
Thanks @JackKuo-tw
wsgi.py
is the entry point. It calls flash_cards.py
/etc/systemd/system/flash_cards.service
: view
sudo systemctl restart flash_cards
sudo systemctl daemon-reload
Provided by @devyash - devyashsanghai@gmail.com - Reach out to this contributor if you have trouble.
python get-pip.py
in terminalpip install -r requirements.txt
in terminal after going to correct folderpython flash_cards.py
- if you get error for flask then use python -m pip install Flask
first then run flash_card.py
fileNOTE: If you wish to use John's flash cards then also do following steps:
cards-jwasham-extreme
OR cards-jwasham
and paste them in db folderflash_cards.py
line 8 and replace 'cards.db' with any of the other database files e.g.('cards-jwasham.db') Every time you wish to run your db just open folder in terminal and run python flash_cards.py
Provided by @Tinpee - tinpee.dev@gmail.com - Reach out to this contributor if you have trouble.
Make sure you already installed docker and optionally docker-compose
config.txt
file. Change the secret key, username and password. The username and password will be the login for your site. There is only one user - you.docker build . -t cs-flash-cards
docker-compose build
docker run -d -p 8000:8000 --name cs-flash-cards cs-flash-cards
docker-compose up
http://localhost:8000
If you already had a backup file cards.db
. Run following command:
Note: We don't need to rebuild image, just delete old container if you already built.
docker run -d -p 8000:8000 --name cs-flash-cards -v <path_to_folder_contains_cards_db>:/src/db cs-flash-cards
<path_to_folder_contains_cards_db>
: is the full path contains cards.db
./home/tinpee/cs-flash-cards/db
, and cards.db
is inside this folder.For convenience, if you don't have cards.db
, this container will auto copy a new one from cards-empty.db
.
We just need store cards.db
file, and don't need any sql command.
-v <folder_db>:/src/db
just go to folder_db
and store cards.db
anywhere you want.-v flag
. Type: docker cp <name_of_container>:/src/db/cards.db /path/to/save
docker rm cs-flash-cards
-v flag
:
docker run -d -p 8000:8000 --name cs-flash-cards -v <path_to_folder_contains_cards_db>:/src/db cs-flash-cards
entrypoint.sh
- export CARDS_SETTINGS=/src/config.txt
gunicorn --bind 0.0.0.0:$8000 flash_cards:app
+ export CARDS_SETTINGS=/src/config.txt
gunicorn --bind 0.0.0.0:$PORT flash_cards:app
heroku login
heroku container:login
heroku create
# Creating app... done, ⬢ your-app-name
heroku container:push web --app your-app-name
heroku container:release web --app your-app-name
heroku open --app your-app-name
@ashwanikumar04 put together an alternative flash cards site running Node: https://github.com/ashwanikumar04/flash-cards
Check out the demo!
Happy learning!