Twoje narzędzie do nauki na Politechnice Wrocławskiej
🌐 Odwiedź aplikację • 🧑💻 Repozytorium frontend • 🛠️ API Swagger
Testownik Solvro to platforma edukacyjna stworzona przez KN Solvro dla studentów Politechniki Wrocławskiej. Aplikacja umożliwia tworzenie, rozwiązywanie i udostępnianie quizów, pomagając w przygotowaniu do sesji egzaminacyjnej.
- Python 3.10+
- pip
-
Sklonuj repozytorium
git clone https://github.com/Solvro/backend-testownik.git cd backend-testownik -
Utwórz i aktywuj środowisko wirtualne
python -m venv .venv source .venv/bin/activate # Linux / macOS .venv\Scripts\activate # Windows
-
Zainstaluj zależności
pip install -r requirements.txt
-
Skopiuj plik środowiskowy
cp .env.example .env -
Wykonaj migracje bazy danych
python manage.py migrate
-
(Opcjonalnie) Stwórz konto administratora
python manage.py createsuperuser
-
Uruchom serwer deweloperski
python manage.py runserver
Po uruchomieniu API będzie dostępne pod:
http://localhost:8000/
| Komenda | Opis |
|---|---|
python manage.py runserver |
Uruchamia serwer deweloperski |
python manage.py migrate |
Wykonuje migracje bazy danych |
python manage.py createsuperuser |
Tworzy konto administratora |
pip install -r requirements.txt |
Instaluje zależności |
- Język: Python 3
- Framework: Django + Django REST Framework
- Baza danych: PostgreSQL (prod) / SQLite (dev)
- Uwierzytelnianie: JWT (JSON Web Tokens)
- Integracja z USOS:
usos-api - Dokumentacja API: DRF Spectacular • Swagger UI
Chcesz pomóc w rozwoju Testownika? Let's go!
- Sforkuj repozytorium (tylko jeśli jeszcze nie jesteś w teamie testownika)
- Stwórz branch dla swojej funkcji (
git checkout -b feat/amazing-feature) - Commituj zmiany (
git commit -m 'feat: add amazing feature') - Wypchnij branch (
git push origin feature/amazing-feature) - Otwórz Pull Request
Aby było nam wszystkim łatwiej stosuj się do tych zasad przy tworzeniu branchy oraz commitów.
Każdy branch powinien zawierać prefiks określający typ zmiany oraz numer GitHub Issue.
Format
<prefix>/<issue>-short-description
Dostępne prefiksy
feat/- nowe funkcjefix/- poprawki błędówhotfix/- krytyczne poprawki produkcyjnedesign/- zmiany UI/UXrefactor/- poprawa kodu bez zmiany działaniatest/- testydocs/- dokumentacja
Przykłady
feat/123-add-usos-integration
fix/87-token-refresh-bug
refactor/210-cleanup-serializers
W projekcie używamy pre-commit oraz ruff do automatycznego formatowania i lintowania kodu przy każdym git commit.
Instalacja narzędzi deweloperskich
pip install -r requirements-dev.txtInstalacja hooków pre-commit
pre-commit installRęczne uruchomienie wszystkich hooków
pre-commit run --all-filesPo instalacji hooków, przy każdym git commit automatycznie uruchomią się:
-
ruff– linting i sortowanie importów -
ruff-format– formatowanie kodu
Stosujemy standard Conventional Commits, aby się móc później łatwiej połapać.
Format
<type>(opcjonalny scope): opis w czasie teraźniejszym
Typy commitów
feat:- nowa funkcjonalnośćfix:- naprawa błędudocs:- dokumentacjarefactor:- poprawa struktury kodutest:- testychore:- zmiany w konfiguracji, dependency itp.
Przykłady
feat(auth): add USOS SSO login
fix(quizzes): correct question ordering
docs: update README with backend setupNiepewny czego dotyczy temat? Zgłoś go najpierw na frontendzie.
Jeśli jesteś dość pewien, że sprawa dotyczy wyłącznie backendu (API, baza danych, logika serwera), wtedy wrzuć zgłoszenie na backendzie.
- Email: testownik@solvro.pl
- Organizacja: KN Solvro
- Strona: testownik.solvro.pl
Stworzone z ❤️ przez KN Solvro dla studentów Politechniki Wrocławskiej
⭐ Jeśli projekt Ci się podoba, zostaw gwiazdkę!