Projekt jest napisany w Django i służy do zarządzania operacjami w aplikacji dla mieszkańców. Obejmuje funkcje takie jak:
- Rejestracja użytkowników
- Wyświetlanie liczników
- Zgłaszanie usterek
- Śledzenie harmonogramu
- Rozliczenia
Projekt wykorzystuje Django Rest Framework w celu zapewnienia API zintegrowanego z uwierzytelnianiem.
- Django
- Django Rest Framework
- Token Authorization
- Admin Panel: /admin/
- Rejestracja: /api/user/register
- Token Authorization: /auth/
- API Root: /api/
- API Dokumentacja:
- OpenAPI Schema: /api/schema/
- Swagger UI: /api/schema/swagger-ui/
- Redoc UI: /api/schema/redoc/
- Widok mieszkańca: /liczniki/mieszkaniec/
- Widok admina: /liczniki/admin/
- Widok mieszkańca: /rozliczenia/mieszkaniec/
- Widok admina: /rozliczenia/admin/
- Widok mieszkańca: /usterki/mieszkaniec/
- Widok admina: /usterki/admin/
- Widok harmonogramu: /spotkania/
Rozszerzenie modelu użytkownika o AbstractUser.
- Pola:
- adres
- telefon
- Pola:
- mieszkaniec
- typ_licznika
- odczyt
- data_odczytu
- Pola:
- mieszkaniec
- kwota
- opis
- Pola:
- mieszkaniec
- opis
- status
- data_zgloszenia
- Pola:
- tytul
- data_spotkania
- uczestnicy
Zdefiniowane w pliku serializers.py, obsługują walidację danych i transformację odpowiedzi API.
- MieszkaniecSerializer - przetwarza dane użytkownika
- LicznikSerializer - przetwarza dane liczników
- RozliczenieSerializer - przetwarza dane rozliczeń
- UsterkaSerializer - przetwarza dane usterek
- HarmonogramSerializer - przetwarza dane harmonogramu
Zdefiniowane w pliku views.py, obsługują logikę API.
- CreateMieszkaniecView
- MieszkaniecViewSet
- LicznikMieszkaniecView
- LicznikAdminView
- RozliczenieMieszkaniecView
- RozliczenieAdminView
- UsterkaListCreateView
- UsterkaAdminView
- HarmonogramViewSet
- TokenAuthentication - używane do dostępu do API.
- Niestandardowe pozwolenia:
- IsAdminOrReadOnly - pozwala na dostęp do odczytu wszystkim zweryfikowanym użytkownikom oraz na zapis tylko administratorom.
- IsAuthenticated - sprawdza, czy użytkownik jest zalogowany przed udzieleniem dostępu.
- Swagger UI: /api/schema/swagger-ui/
- Redoc UI: /api/schema/redoc/
python -m venv venv
pip install -r requirements.txt
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver