Skip to content

Solvro/backend-testownik

Repository files navigation

Testownik Solvro - Backend

Python Django DjangoREST

Twoje narzędzie do nauki na Politechnice Wrocławskiej

🌐 Odwiedź aplikację🧑‍💻 Zobacz frontend🛠️ API Swagger


📖 O projekcie

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.


🚀 Uruchomienie lokalne

Wymagania

  • Python 3.10+
  • pip

Instalacja

  1. Sklonuj repozytorium

    git clone https://github.com/Solvro/backend-testownik.git
    cd backend-testownik
  2. Utwórz i aktywuj środowisko wirtualne

    python -m venv .venv
    source .venv/bin/activate        # Linux / macOS
    .venv\Scripts\activate           # Windows
  3. Zainstaluj zależności

    pip install -r requirements.txt
  4. Skopiuj plik środowiskowy

    cp .env.example .env
    
  5. Wykonaj migracje bazy danych

    python manage.py migrate
  6. (Opcjonalnie) Stwórz konto administratora

    python manage.py createsuperuser
  7. Uruchom serwer deweloperski

    python manage.py runserver

Po uruchomieniu API będzie dostępne pod:
http://localhost:8000/


📜 Najważniejsze komendy

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

🛠️ Stack technologiczny

  • 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

🤝 Kontrybucja

Chcesz pomóc w rozwoju Testownika? Let's go!

  1. Sforkuj repozytorium (tylko jeśli jeszcze nie jesteś w teamie testownika)
  2. Stwórz branch dla swojej funkcji (git checkout -b feat/amazing-feature)
  3. Commituj zmiany (git commit -m 'feat: add amazing feature')
  4. Wypchnij branch (git push origin feature/amazing-feature)
  5. Otwórz Pull Request

Aby było nam wszystkim łatwiej stosuj się do tych zasad przy tworzeniu branchy oraz commitów.

🪾 Nazewnictwo branchy

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 funkcje
  • fix/ - poprawki błędów
  • hotfix/ - krytyczne poprawki produkcyjne
  • design/ - zmiany UI/UX
  • refactor/ - poprawa kodu bez zmiany działania
  • test/ - testy
  • docs/ - dokumentacja

Przykłady

feat/123-add-usos-integration
fix/87-token-refresh-bug
refactor/210-cleanup-serializers

✍️ Format commitów

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łędu
  • docs: - dokumentacja
  • refactor: - poprawa struktury kodu
  • test: - testy
  • chore: - zmiany w konfiguracji, dependency itp.

Przykłady

feat(auth): add USOS SSO login
fix(quizzes): correct question ordering
docs: update README with backend setup

📬 Kontakt


Stworzone z ❤️ przez KN Solvro dla studentów Politechniki Wrocławskiej

⭐ Jeśli projekt Ci się podoba, zostaw gwiazdkę!

About

Testownik Solvro - Backend

Resources

Stars

Watchers

Forks

Contributors 10