Client side code written in Svelte using Svelte UI library.
Caddyserver is used to proxy the backend and serve the static files of the frontend.
Redis in-memory database is used as the main datastore of the application, as well as used by BullMQ.
REST API written in NodeJS with Fastify, serving data endpoints to the frontend.
Background worker (with BullMQ), running jobs to load the database and keep it up-to-date.
Read-Evaluate-Print-Loop for administering the server side processes. Can interact with BullMQ jobs and Redis data.
docker compose exec repl node index.js
There is some shared code between services to avoid duplication (DRY).
This directory can be used by any backend service. It can access server-only components like Redis database.
Full-stack shared directory. Can be accessed by any service including the client. Should mostly contain type definitions.
To update all the NPM packages in this repository, run this command in the root:
pnpm update --recursive --latest