Stay Tuned!
pip install djoser
pip install djangorestframework-simplejwt
pip install django-user-accounts
pip install django
pip install djangorestframework
pip install django-registration
pip install django-filter
pip install django-qrcode
Usuń db.sqlite3
Usuń wszystko z /backend/migrations
python manage.py makemigrations backend
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
Serwer został napisany w oparciu o architekturę REST. Połączenie z serwerem nawiązuje się poprzez wywołanie adresu url odpowiadającego danej akcji używając przy tym odpowiedniej metody HTTP. Dane w postaci JSON przekazuje się poprzez np. metodę POST lub jako zmienną "json" metody GET.
Do każdego połączenia z serwerem należy dołączyć do adresu zmienną Bearer token postaci "Authorization: Bearer XXX"
Kod | Opis |
---|---|
200 | Sukces |
201 | Sukces - pomyślnie utworzono obiekt(y) |
204 | Sukces - pomyślnie usunięto obiekt |
Kod | Opis |
---|---|
400 | Serwer otrzymał złe dane |
401 | Serwer nie otrzymał danych |
403 | Brak uprawnień |
404 | Żądany obiekt nie istnieje |
Metoda HTTP | Content-Type | Opis wejścia | Przykład wejścia | Akcja |
---|---|---|---|---|
GET | ||||
POST | application/json | JSON | {"token" : "XXX"} | Sprawdzanie tokena |
PUT | Brak | |||
DELETE | Brak |
curl -X POST -d '{"token": "XXX"}' -H 'Content-Type: application/json' http://127.0.0.1:8000/auth/jwt/verify
Sukces: {} Niepowodzenie: {"detail":"Token is invalid or expired","code":"token_not_valid"}
Metoda HTTP | Content-Type | Opis wejścia | Przykład wejścia | Akcja |
---|---|---|---|---|
GET | ||||
POST | application/json | JSON | {"refresh" : "XXX"} | Odświeżanie tokena |
PUT | Brak | |||
DELETE | Brak |
curl -X POST -d '{"refresh": "XXX"}' -H 'Content-Type: application/json' http://127.0.0.1:8000/auth/jwt/refresh
Sukces: {"access":"XXX"}
Niepowodzenie: {"detail":"Token is invalid or expired","code":"token_not_valid"}
Metoda HTTP | Content-Type | Opis wejścia | Przykład wejścia | Akcja |
---|---|---|---|---|
GET | ||||
POST | application/json | JSON | {"email": " ","password": " ", "name" : "Tom Hanks", "phone" : "+48123666789"} | Utworzenie konta |
PUT | Brak | |||
DELETE | Brak |
curl -X POST -d '{"email": "[email protected]","password": "maslotoniehaslo", "name" : "Tom Hanks", "phone" : "+48123666789"}' -H 'Content-Type: application/json' http://127.0.0.1:8000/auth/users/
Metoda HTTP | Content-Type | Opis wejścia | Przykład wejścia | Akcja |
---|---|---|---|---|
GET | Brak | |||
POST | application/json | JSON | {"email": " ","password": " "} | Logowanie |
PUT | Brak | |||
DELETE | Brak |
curl -X POST -d '{"email": "[email protected]","password": "maslotoniehaslo"}' -H 'Content-Type: application/json' http://127.0.0.1:8000/auth/jwt/create
Metoda HTTP | Content-Type | Opis wejścia | Przykład wejścia | Akcja |
---|---|---|---|---|
GET | application/json | Zwraca nazwę zalogowanego użytkownika |
curl -X GET http://127.0.0.1:8000/api/username/
Metoda HTTP | Content-Type | Opis wejścia | Przykład wejścia | Akcja |
---|---|---|---|---|
GET | Pobranie kluczy api użytkownika | |||
POST | Brak | |||
(PUT) | Brak | |||
(DELETE) | Brak |
curl -X GET -H "Authorization: Bearer XXX" http://127.0.0.1:8000/api/eventkeys
Metoda HTTP | Content-Type | Opis wejścia | Przykład wejścia | Akcja |
---|---|---|---|---|
GET | Brak | |||
POST | Dodanie klucza API | |||
(PUT) | Brak | |||
(DELETE) | Usunięcie klucza API |
curl -X GET http://127.0.0.1:8000/api/events/
Jeśli przy dodawaniu dostaniemy 404 oznacza to, iż nie ma eventu z tym kluczem Jeśli będziemy próbowali usunąć klucz, którego dany użytkownik nie miał, również dostaniemy 404
Metoda HTTP | Content-Type | Opis wejścia | Przykład wejścia | Akcja |
---|---|---|---|---|
GET | Pobranie podstawowych informacji (nazwa, data, miejsce) wszystkich wydarzeń | |||
POST | application/json | JSON | {"event_name":"Maraton", "descriptions":"Opis wydarzenia", "pictures":"https://strona.pl/adres/url/zdjecia.jpg", "event_date":"2020-04-17T11:22:42+02:00", "city":"Wrocław", "street":"Długa", "post_code":"53-615", "street_address":"1", "country":"Polska"} | Dodanie wydarzenia\wydarzeń |
(PUT) | Brak | |||
(DELETE) | Brak |
curl -X GET http://127.0.0.1:8000/api/events/
Parametr wydarzenia | HTTP - filtrowanie | HTTP - sortowanie |
---|---|---|
ID | ?id= | ?ordering=id |
Nazwa | ?event_name= | ?ordering=event_name |
Opis | ?descriptions= | |
Data | ?event_date= | ?ordering=event_date |
Miasto | ?city= | ?ordering=city |
Ulica | ?street= | |
Państwo | ?country= | ?ordering=country |
Aby sortować malejąco użyj znaku: -= (?ordering-=id) |
curl -X GET http://127.0.0.1:8000/api/events/?street=Kolorowa&country=Polska
curl -X GET http://127.0.0.1:8000/api/events/?ordering=event_date
Metoda HTTP | Content-Type | Opis wejścia | Przykład wejścia | Akcja |
---|---|---|---|---|
GET | Pobranie wszystkich informacji wybranego wydarzenia | |||
(POST) | Brak | |||
PUT | application/json | JSON | {"event_name":"Maraton", "descriptions":"Zaktualizowany opis", "pictures":"https://strona.pl/adres/url/zdjecia.jpg", "event_date":"2020-04-17T11:22:42+02:00", "city":"Wrocław", "street":"Długa", "post_code":"53-615", "street_address":"1", "country":"Polska"} | Aktualizacja informacji o wybranym wydarzeniu |
DELETE | Usunięcie wybranego wydarzenia |
curl -X GET http://127.0.0.1:8000/api/events/1/
Metoda HTTP | Content-Type | Opis wejścia | Przykład wejścia | Akcja |
---|---|---|---|---|
GET | Pobranie podstawowych infromacji i kodu QR swoich biletów | |||
(POST) | Brak | |||
(PUT) | Brak | |||
(DELETE) | Brak |
curl -X GET http://127.0.0.1:8000/api/tickets/
Metoda HTTP | Content-Type | Opis wejścia | Przykład wejścia | Akcja |
---|---|---|---|---|
GET | Pobranie wszystkich informacji wybranego biletu | |||
(POST) | Brak | |||
PUT | application/json | JSON | Aktualizacja informacji o wybranym bilecie | |
DELETE | Usunięcie wybranego biletu |
Metoda HTTP | Content-Type | Opis wejścia | Przykład wejścia | Akcja |
---|---|---|---|---|
PATCH | Skasowanie wybranego biletu |
curl -X PATCH http://127.0.0.1:8000/api/tickets/142fs5.../validate/