Back-end
Link na repozitár - Backend
Technológie
Server využíva technológiu Node JS.
Pre spojenie s databázou a obsluhu požiadaviek na databázu využívame ORM Prisma.
Komunikácia
Pre komunikáciu s frontendom je k dispozícií REST API, ktoré je dostupné na porte 8000.
Pre komunikáciu s jednotlivými modulmi pivovaru používame websocket. Spojenie prebieha na porte 8001.
Viac info v časti API.
Súčasný stav
Web socket
Pomocu web socketového servera je možné pripojiť viacero klientov, ktorí predstavujú moduly pivovaru. Tie slúžia na obsluhu efektorov a zisk údajov zo senzorov. Server s nimi pravidelne udržiava spojenie (keep-alive) a odosiela im jednotlivé inštrukcie. Bližšie informácie o nich je možné nájsť v Podporované inštrukcie.
Pokiaľ spojenie k požadovanému modulu neexistuje, proces varenia sa ukončí špeciálnou inštrukciou Abort.
REST API
Zoznam endpointov v rámci REST API sa nachádza v API, avšak tento zoznam sa môže podľa potrieb aktualizovať. Momentálne pre obsluhu požiadaviek frontendu implementujeme nasledovné endpointy:
- Získanie všetkých receptov
- Získanie konkrétneho receptu
- Získanie všetkých podporovaných funkcií
- Vytvorenie nového receptu
- Načítanie receptu pre varenie
- Spustenie varenia
- Pozastavenie a pokračovanie varenia
- Vynútené zrušenie varenia
- Vymazanie receptu
- Úprava receptu
- História varení
- Prehľad štatistík varenia