Zuhdan / computer-science-flash-cards

Mini website for testing both general CS knowledge and enforce coding practice and common algorithm/data structure memorization.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Computer Science Flash Cards

This is a little website I've put together to allow me to easily make flash cards and quiz myself for memorization of:

  • general cs knowledge
    • vocabulary
    • definitions of processes
    • powers of 2
    • design patterns
  • code
    • data structures
    • algorithms
    • solving problems
    • bitwise operations

Will be able to use it on: - desktop - mobile (phone and tablet)

It uses:

  • Python 3
  • Flask
  • SQLite

How to run it

Provided by @Tinpee - tinpee.dev@gmail.com

  1. Clone project to a directory on your web server.
  2. Edit the config.txt file. The username and password will be the login for your site. There is only one user - you.
  3. Follow this long tutorial to get Flask running. It was way more work than it should be: https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-16-04
    • wsgy.py is the entry point. It calls flash_cards.py
    • This is my systemd file /etc/systemd/system/flash_cards.service: view
      • you can see the paths where I installed it, and the name of my virtualenv directory
    • when done with tutorial:
    sudo systemctl restart flash_cards
    sudo systemctl daemon-reload
    
  4. When you see a login page, you're good to go.
  5. Uncomment the commented block in flash_cards.py
  6. Restart Flask. You have to use sudo systemctl restart flash_cards.
  7. Hit the URL /initdb on your web server. You'll see a message that the database has been initialized.
  8. Comment that code again.
  9. Restart Flask.
  10. Go to / on your webserver.
  11. Log in.
  12. Click the "General" or "Code" button and make a card!
  13. When you're ready to start memorizing, click either "General" or "Code" in the top menu.

How to run with Docker

Make sure you already installed docker

  • Clone project to any where you want and go to source folder
  • Build image: docker build . -t cs-flash-cards
  • Run container: docker run -d -p 8000:8000 --name cs-flash-cards cs-flash-cards
  • Go your browser and type http://localhost:8000

Happy learning!

About

Mini website for testing both general CS knowledge and enforce coding practice and common algorithm/data structure memorization.


Languages

Language:HTML 56.1%Language:Python 32.8%Language:JavaScript 8.1%Language:CSS 2.9%