Głównym celem projektu jest stworzenie prostego projektu z API do nauki fiszek.
- API z możliwością tworzenia grup fiszek i zarządzania nimi
- API do nauki fiszek
- Endpoint do zapisywania postępów w nauce
- Python 3.12
- Django 5.1
- Django REST Framework
- PostgreSQL 17
Szczegóły znajdziesz w pliku README.md. Ale w skrócie:
- Utwórz fork naszego repozytorium i sklonuj go na swój komputer
- Zainstaluj uv i docker compose (jeśli jeszcze nie korzystasz)
- Uruchom komendę
make bootstrap-docker - Uruchom komendę
makei voila!
- Stwórz w projekcie aplikację
flashcards - Stwórz modele na grupę fiszek i fiszki
- Stwórz model do przechowywania postępów w nauce - będziemy przechowywać score w danej fiszcze per user
- Zapoznaj się ze zaproponowaną przez nas i oczekiwaną przez front-end i mobilki specyfikacją API w pliku API_SCHEMA.md
- Przy pomocy
ModelViewSetstwórz API do zarządzania grupami fiszek - Przetestuj działanie API za pomocą Swaggera, który jest dostępny pod adresem
http://localhost:8000/api/schema/swagger-ui/ - Zapoznaj się z doinstalowaną biblioteką
drf-nested-routers, a następnie stwórz API do zarządzania fiszkami - Przy pomocy
extra actionw DRF, stwórz endpoint do pobierania 10 fiszek do nauki - Przy pomocy
extra actionw DRF, stwórz endpointy do zapisywania postępów w nauce - Stwórz testy do API, używając bibliotekę
pytest
Jeśli starczy Ci czasu, spróbuj zaimplementować dodatkowe funkcjonalności:
- Rozbuduj logikę zwracającą fiszki do nauki, tak aby były uwzględniane postępy w nauce, możesz zapoznać się z techniką
spaced repetitioni ją zaimplementować - Dodaj autentykację do API - możesz wykorzystać bibliotekę
djangorestframework-simplejwt