Skip to content

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

Merge request reports

Loading