Moc REST API będzie z Tobą. Ta ścieżka to nie tylko podstawy, ale też GraphQL, testowanie, cellery, Continues Integration.. te wszystkie tematy będą w zasięgu Twojej ręki. Pełne 12 modułów wypełnionych po brzegi wartościową wiedzą i buzującej neuronami nauką.
Moduł 0 – pierwsze starcie
Przywitanie w kursie i informacje organizacyjne
Przedstawienie projektu, który będziemy wykonywali
Potrzebna wiedza, potrzebne oprogramowanie
Przedstawienie Fastapi i jego składników
Porównanie innych dostępnych rozwiązań.
Zrozumieć asynchroniczność – ćwiczenia i kod
Moduł 1 – Nowa nadzieja
Rest API vs GraphQL? Json czy XML?
Projektujemy dobre API
Metody protokołu http i odpowiedzi serwera
HATEOS
Wersjonowanie i dokumentacja
Poziomy dojrzałości według modelu Richardsona
Moduł 2 – Środowisko kontratakuje!
Przygotowanie środowiska w oparciu o Poetry i PyEnv
Instalacja Postmana i przejście po jego możliwościach
Typowanie i wstęp do MyPy
Pierwsze “dummy” kontrolery i Hello World
Routing – nawigacja po aplikacji
Request Body i Query
Moduł 3 – Powrót Requestu
Sprawdzanie poprawności naszego zapytania
Poznajemy Pydantic’a !
Tworzymy i sprawdzamy pierwsze Requesty
Piszemy własne walidatory
Upload plików
Moduł 4 – Mrok kodu kontratakuje
Jak powinien być ułożony kod naszej aplikacji?
Utworzenie instancji bazy danych PostgreSQL
PonyORM vs SQL Alchemy
Instalacja i konfiguracja ORMa
Pierwsze modele i podłączenie do bazy danych.
Przykładowe zapytania na bazie danych.
Moduł 5 – Atak obrazów – Docker
Instalacja i oprowadzenie po Dockerze.
Dockeryzacja naszej aplikacji.
Twelve factors app, zmienne środowiskowe.
Zmieniamy silnik na PostgreSQL.
Budujemy kontenery z naszą aplikacją.
Moduł 6 – Zemsta użytkowników
Porównanie dostępnych metod autentykacji.
Ograniczanie dostępu do kontrolerów.
Kontekst użytkownika – pobranie zalogowanego usera.
Modyfikujemy nasze modele.
Dodajemy asocjacje z użytkownikiem.
Moduł 7 – Przebudzenie kodu.
Cache w oparciu o redisa.
Konfiguracja: pylint, flake8, black itp.
Dodajemy pre git hook i sprawdzamy jakość naszego kodu.
Jak dokumentować nasze API? Swagger & Open API.
Teoria testów i pierwszy test.
Kilka informacji o CI & CD & Github Actions.
Moduł 8 – Ostatni ORM
Dokładniejsze omówienie asocjacji.
Transakcje.
PonyORM vs SQL Alchemy
Instalacja i konfiguracja ORMa
Pierwsze modele i podłączenie do bazy danych.
Przykładowe zapytania na bazie danych.
Moduł 9 – Testowanie. Odrodzenie.
Krótki wstęp do Pytest’a
Piramida testów, rodzaje testów.
Wystawienie testowej bazy, testy end-end.
Httpx client
Pytest fixtures – autouse, scope, parametrized
Mockowanie zapytań do REST API
Moduł 10 – Dzielimy się ze światem
Przenosimy aplikacje na Githuba.
Git flow, jak efektywnie pracować z Gitem?
Istota gałęzi master i develop.
Przygotowanie produkcyjnej wersji aplikacji.
Deployment obrazu dockerowego na serwerze wirtualnym.
Omówienie innych metod deploymentu aplikacji.
Moduł 11 -A może jednak GraphQL?
Czym jest GraphQL?
Omówienie terminologii.
Porównanie dostępnych bibliotek.
Jak wdrożyć go bezproblemowo w naszej aplikacji?
Mutacje i modyfikacja danych.
Wady i zalety takiego rozwiązania.
Moduł 12 – Ostatki i zaawansowane
Jak zintegrować się z Cellery?
Zdarzenia i zadania w tle.
Czym jest replikacja?
Tworzymy klienta w Typescripcie.
Jaki jest dalszy plan?
Podsumowanie zdobytej wiedzy w kursie.