Tekniskur sjónleiki
Opin kelda
Allur keldukóðin hjá Covey er opið tøkur á Codeberg. Hvør sum er kann granska, veita framlag til og byggja á kóðanum.
Bygnaðaryvirlit
Covey bestendur av fýra tænastum, sum samvirka gjøgnum Docker Compose:
| Tænasta | Leiklut |
|---|---|
| Frontend | Vebrúkarfláta bygd við Preact, skotin gjøgnum nginx |
| Backend | API og samtíðarsamskifti við Express og Socket.io |
| Dátugrunnur | PostgreSQL 16 til dátagoymingu |
| Traefik | Umvend proxy við sjálvvirkandi TLS-váttstøðustjóring |
Málsvarnarprinsippir
Preact í staðin fyri React
Vit brúka Preact (3 KB) í staðin fyri React (40 KB), soleiðis at appin innlesist skjótt, sjálvt á eldri tólum og seinkuligum sambondum. API-ið er nærum eins.
Progressive Web App (PWA)
Covey verður útbytt sum ein PWA -- eingin appbúð er neyðug. Uppsett beinleiðis úr kaga, virkar offline fyri grundvirki, og fær push-fráboðanir sum ein vanlig app.
Einføld flagging av eiginleikum
Eiginleikar verða virknað gjøgnum umhvørvisbreytistørrðir, ikki flóknar skipanir. Einfalt, trygt og uttan útvortis áheiting.
Polling-fyrst fyri samhøvigleika
Socket.io verður stillt at byrja við HTTP-polling og síðan uppgreaða til WebSocket. Hetta tryggjar, at eldri kagar kunnu sambindast beinleiðis.
Kortavísing við OpenStreetMap
Vit brúka Leaflet við OpenStreetMap -- heilt ókeypis, ongin API-lykil krevd, og opin kelda.
Innprosessarbeiðarar
Bakgrundsarbeiðsuppgávur (útrenna bønir, GDPR-strikking) koyra sum skemalagdar prosessir í somu Node-prosessini -- ongin útvortis arbeiðslinja er neyðug.
Dátuflóð
- Statiskt innihald: Kagur → Traefik → nginx → HTML/JS/CSS
- API-kall: Kagur → Traefik → Express → PostgreSQL
- Samtíð: Kagur → Traefik → Socket.io (uppgreiðar frá polling til WebSocket)
CI/CD
Keldukóðagoymslan verður hostað á Codeberg við Woodpecker CI fyri sjálvvirkandi royndir og bygd. Hvørt push koyrir backend- og frontend-royndir og staðfestir, at framleiðslubygdið virkar.
Trygdaravgerðir
- JWT við HS256 -- Statleys samgilding við 24 tíma útrennisfrístur.
- Dulnevnd nøvn -- BankID-nøvn verða aldrin sjálvvirknað víst.
- Haversine í staðin fyri PostGIS -- Einfaldari, léttari og nóg til bygdarskalanum.
- Minnisgrundað hastigheitsbegring -- Ongin Redis er neyðugur fyri eina einstaka miðaradreifingarskipan.
Hosting
Covey verður hostað á einum VPS hjá GleSYS í Stokkhólmi, drivin av endurnýggjanlegari orku. TLS-váttstøður verða sjálvvirknað handfarnar gjøgnum Let's Encrypt.