Skip to content

Architecture

DewKit follows a simple two-tier architecture with a single backend service and a frontend web application.

High-Level Architecture

  • Backend service written in Go
  • Frontend written in Vue.js
  • PostgreSQL for persistent data storage
  • Redis for caching and background operations

Backend

The backend is a single Go application responsible for:

  • Handling HTTP requests
  • Managing authentication
  • Ticket and conversation logic
  • Database access

The backend produces a single executable binary (dewkit).

Frontend

The frontend is built using Vue.js and bundled during the build process.

The compiled frontend assets are served by the Go backend.

Database

PostgreSQL is used as the primary datastore.

The schema is defined in schema.sql and must be applied during initial installation.

Cache

Redis is used for caching and transient data.