Ostatnio pisałem o stworzonej przeze mnie aplikacji API Spotify. Poznałem tam REST API od zewnątrz. Przyszedł czas na kolejny, naturalny krok: stworzenie własnego API od podstaw. W tym celu wróciłem do wcześniejszego projektu – symulatora lotniska.
🎯 Wyzwanie
Głównym zadaniem było dodanie do istniejącego już backendu warstwy API. Chodziło o to, by umożliwić zewnętrznym narzędziom komunikację z symulacją – monitorowanie jej stanu oraz sterowanie nią w czasie rzeczywistym.
Po kilku wieczorach kodowania, moje lotnisko wystawia teraz światu następujące endpointy:
Endpointy REST API
- GET /status/uptime – sprawdza, jak długo działa serwer
- GET /planes/count – zwraca liczbę aktywnych samolotów
- GET /planes/active, /landed, /crashed – listy samolotów o konkretnym statusie
- GET /planes/<id> – szczegółowe info o konkretnym samolocie
- POST /control/pause, /resume, /shutdown – pełna kontrola nad symulacją!
🛣️ Droga i… coś ekstra
Projekt nie kończył się jednak na samym REST. Kolejnym zadaniem było zaimplementowanie tych samych funkcjonalności przy użyciu RPC. Pozwoliło mi to w praktyce porównać oba podejścia, ich wady i zalety oraz sprawdzić, która wersja mi bardziej pasuje.
✅ Wynik
Nie tylko stworzyłem swoje pierwsze REST API od zera, ale też od razu porównałem je w praktyce z RPC. Ogromna dawka praktycznej wiedzy i kolejne poznane możliwości. 💪
Link do repo z obiema implementacjami API:
https://gitlab.com/DawDro/airport-automatic-landing-system
#Programowanie #Backend #RESTAPI #RPC #API #Portfolio #Projekty #Developer #NaukaProgramowania #Python #Projects #SoftwareDevelopment #LearningByDoing
