A simple web application which helps learning using flashcards.
API description can be found here: https://github.com/KamilKrol5/learning-cards/blob/master/backend/API_description.md
- Python 3.7,
- Django 2.2.20 and Django REST Framework 3.12.4,
- React with Redux,
- Bootstrap 4.4.1,
- JWT authentication.
- Install python 3.7.
$ sudo apt-get update $ sudo apt install python3.7
- Install pip for Python 3.
$ sudo apt-get install python3-pip
- Install requirements.
$ sudo python3.7 -m pip install -r backend/requirements.txt
- Create migrations and make migrations.
$ python3.7 backend/manage.py makemigrations $ python3.7 backend/manage.py migrate
- Run Django development server (not for production purposes).
$ python3.7 backend/manage.py runserver 8000
- Install NodeJS
- Enter 'front' directory and initialize project.
$ cd front $ npm install
- Start React application
$ npm start
Start page:
Registering new user. The password has to be at least 8 characters long and is stored in hashed form in DB:
Main user panel - after logging in:
Creating new learning set named "Trees". Empty sets are allowed:
Viewing "Trees" set. A user can choose between two modes to learn the definitions from this set:
Editing "Trees" learning set. Every item can be removed, changed or deleted. The set name is also changeable:
"Flashcard" (first) learning mode. User can see all flashcards in the set one by one:
"Writing" (second) learning mode. User needs to write the definition in the field. If the answer is not correct, the card will apear again while learning. Statistics can be seen at the bottom: