Architecture
The application is built with Nuxt. Source code can be found here.
Backend
Nuxt comes with a server engine called Nitro. Portability is one of its features that can make the server-side code run on Node.js server and edge workers.
Nuxt Security
Nuxt Auth
Controllers
Nuxt S3
Prisma
Nuxt 3
- Prisma is an ORM used for type safety and serverless support.
- Nuxt S3 is a module for querying any S3 compatible file storage server.
- Controllers are handlers for REST API endpoints.
- Nuxt Auth is a module for handling JWT based authentication.
- Nuxt Security is a module for handling web security concerns.
Frontend
Nuxt is built on top of Vue, a frontend JS framework popular for its reactivity system.
Tailwind CSS
Nuxt Naive UI
useDeployment
useRelease
useProject
useDevice
useMqtt
useReport
Nuxt 3
- useMqtt handles MQTT settings and client with support for v3.x and v5.
- useReport handles report settings via email and webhooks.
- useDevice handles state management for Device.
- useProject handles state management for Project.
- useRelease handles state management for Release.
- useDeployment handles state management for Deployment.
- Nuxt Naive UI is an SSR module for Naive UI component library.
- Tailwind CSS is a utility-first CSS framework.