API HTTP do wyciągania eventów i urządzeń, frontend, auth, itp.
Ten MR stał się sporym potworem bo:
- zamiast Flaska jest FastAPI
- jest zbudowane całe API do wyciągania eventów z wyszukiwaniem
- jest uniwersalny system do tworzenia endpointów z wyszukiwaniem
- jest bardzo podstawowy system użytkowników (brakuje endpointów do zarządzania)
- jest system kontroli dostępu (użytkownik zwykły z dostępem do czujników na zasadzie allow-list oraz administrator z dostępem do wszytkiego)
- jest podstawowy frontend napisany w SolidJS
- kompiluje się do statycznej strony i wszystko ciekawe dzieje się w przeglądarce użytkownika na podstawie komunikacji z pythonowym serwerem
- ma widok listy czujników i listy eventów
- nie ma jeszcze systemu powiadomień
- jest dokumentacja, zarówno automatycznie generowana OpenAPI jak i ręcznie napisana w folderze
docs/, m.in dotycząca administracji- brakuje przewodnika po API ale nie było na to jeszcze czasu
- jest zaczątek systemu powiadomień
- nie ma automatycznych testów bo nie było czasu
- nie ma CI/CD czy kontenerów bo nie było warunków (potrzeba CI runner, serwer który ma systemd i podmana, technicznie wystarczy mały VPS ale taki który jest faktycznie pełnoprawną VM-ką a nie kontenerem LXC)
W każdym razie nie ma sensu żeby to nadal była osobna gałąź, projekt jest teraz w działającym stanie, więc czas ten MR włączyć do maina.
*oryginał*
pozostałe do zrobienia:
-
dokumentacja (deployment, wymagane zabezpieczenia) -
dokumentacja (API) -
OpenAPI (Swagger, ReDoc) -
[TODO] Przykłady kwerend (curl)
-
-
wszystkie endpointy i metody przyjmują argumenty w podobnym formacie -
wszystkie endpointy i metody zwracają informacje w podobnym formacie -
[TODO] napisanie zautomatyzowanych testów -
[WONTFIX] przeniesienie nie-skończonego kodu do powiadomień na inną gałąź -
middleware które normalizuje ścieżki z i bez /na końcu
Edited by Luna