EzWare Technology Stack
How each tech is used and connected to function together.
This Page, Live
- ···
- ···
- ···
- ···
How it all comes together
Every app is written as its own source code, not generated from a template or stitched together with plugins. Language and frameworks are determined by the solution being provided. GitHub is used to store code and to operate the CI/CD that handles deployment. A VPS provider allows us to make use of a server to host our applications and services. A CDN provider allows us to deliver our applications to users with low latency and high availability.
On a high level
UI/UX
What visitors can see and interact with.
Webpages are built with a framework that turns the code into visual components. Visitors interact with these components, and we use them to convey meaning. Design, theming and style are part of the code, so a rebrand or a change to one component is a small edit. The framework keeps each component isolated, so changing one does not affect the others.
Svelte
Server-rendered pages, routing and form actions.
TypeScript
Types checked across every component and route.
Tailwind CSS
Storybook
Build tools
How the code is written, checked and shipped.
The code and the configuration that builds it are stored together, so how an app is built is versioned with the app itself. Tools check and format the code before it is pushed, and an AI assistant helps write it. On each push, an automated pipeline builds the web apps and the server applications and uploads the result to the server.
GitHub Actions
Builds each push and uploads it to the server.
GitHub
Vite
Gradle
ESLint
Prettier
Claude Code
Server-side applications
The logic behind the pages.
Anything that runs on the server, from an app's rules to its API, is a server-side application. Its language is typed, like the one used for the pages, so both halves of an app catch mistakes before the code runs, not in front of a user.
Ktor
Lightweight, asynchronous kotlin-based framework.
Kotlin
Concise and multiplatform programming language by JetBrains
Hosting
Where the apps run.
Applications run on a virtual server that runs Linux. A web server sits in front of them and hands each request to the right application, and a runtime runs the web apps. Once an update lands here, it is live.
DigitalOcean
The virtual server the apps run on.
Linux
Nginx
Bun
Runs the SvelteKit web apps on the server.
Networking
How visitors reach the server, safely.
A DNS provider turns a domain into the server's address and filters traffic before it gets there. A certificate authority issues the certificate behind the padlock, so every connection is HTTPS.
Cloudflare
DNS, CDN and TLS at the edge.
Let's Encrypt
Issues the certificate behind the padlock (HTTPS).
Databases
Where data, logins and files are kept.
A database is where an app keeps what it needs to remember, such as its data, user accounts and uploaded files. The pages and the server applications read from it and write to it, so the information stays the same wherever it is used.
PocketBase
Database, auth and file storage in a single binary.