Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django Flash Cards

A simple flash card application built with Django to help with learning and memorization through spaced repetition.

About

This project is a web-based flash card system that allows users to:

  • Create and manage decks of flash cards
  • Add cards with questions and answers
  • Review cards using spaced repetition

Why This Project?

I developed this project just to learn Python and Django. It is a simple application that demonstrates the use of Django for building web applications, and it can be extended with more features in the future.

Screenshots

Here's a visual overview of the application:

Decks List

Decks List

View your decks

Back side of a flash card

Back side of a flash card

Back side of the flash card, allowing us to click to flip

Front side of a flash card

Back side of a flash card

Front side of a flash card, showing the feedback options

Requirements

The following dependencies are needed:

  • Python 3.11.4 (but should work with newer versions)
  • Django 5.2

For development purposes, you need to install:

  • Django Debug Toolbar
  • Pytest
  • Pylint
  • Pylint Django
  • Python Dotenv

Installation

  1. Clone the repository.

  2. Navigate to the project directory:

cd django-flash-cards
  1. Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate  # works on unix environments
  1. Install dependencies:
pip install -r requirements.txt

# Just for development
pip install -r requirements-dev.txt
  1. Run migrations:
python manage.py migrate
  1. Start the development server:
python manage.py runserver
  1. Create .env file Configure the following variable to the .env file:
APP_TIME_ZONE=YOUT_TIMEZONE

Replace YOUR_TIMEZONE by your timezone. You can find a list of timezones here. This configuration you display correctly the time in the application.

Also, you can configure the following variables:

APP_DATABASE_FILE=/path/to/database/file
APP_DEBUG=False/True

The objective of the APP_DATABASE_FILE variable is to change the location of the SQLite database file. By default, it is created in the root directory of the project. You can change it to any other location.

Usage

  1. Create an account or log in into Django Admin
# If you need to create a Django admin user
python manage.py createsuperuser
  1. Create a new deck
  2. Add cards to your deck
  3. Start reviewing!

About

A small flash card project to practice Python and Django

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages