the app allows to collaborate on arbitrary lists and randomly pick items from those lists. we use it on a daily basis to decide where to get lunch at.
random is actually random, using numbers generated by a quantum computer at ANU QRNG.
- protocol contains definitions of types, actions and state reducers that frontend and backend use to communicate.
- app is a sveltekit app that is both backend and frontend
- server contains code server-side only code that is shared between the sveltekit app and a socket.io backend, that runs in the same process
make sure mkcert is installed, it's required for local ssl.
then, just run:
pnpm dev
local database will be created as ./backend/database.dev.jsonl.
the app is hosted on fly.io and can be deployed by running
fly deploy
from the root directory. It's is also automatically deployed for every new commit in master to