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.
Table of Contents