Tæknileg gagnsæi
Opinn hugbúnaður
Allur frumkóði Covey er opinberlega aðgengilegur á Codeberg. Hver sem er getur skoðað, lagt til og byggt ofan á kóðann.
Yfirlit yfir arkitektúr
Covey samanstendur af fjórum þjónustum sem vinna saman í gegnum Docker Compose:
| Þjónusta | Hlutverk |
|---|---|
| Frontend | Vefviðmót byggt á Preact, afgreitt af nginx |
| Backend | API og rauntímasamskipti með Express og Socket.io |
| Gagnagrunnur | PostgreSQL 16 fyrir gagnageymslu |
| Traefik | Öfugur þjónn með sjálfvirkri TLS-vottorðastjórnun |
Hönnunarreglur
Preact í stað React
Við notum Preact (3 KB) í stað React (40 KB) svo að forritið hleðst hratt jafnvel á eldri tækjum og hægum tengingum. API-ið er nánast eins.
Progressive Web App (PWA)
Covey er dreift sem PWA -- engrar forritaverslunar er þörf. Settu upp beint úr vafranum, virkar utan nets fyrir grunnvirkni og fær push-tilkynningar eins og venjulegt forrit.
Einföld eiginleikaflagga
Eiginleikar eru virkjaðir með umhverfisbreytum, ekki flóknum kerfum. Einfalt, áreiðanlegt og án ytri háðra.
Skoðanakönnun fyrst fyrir samhæfni
Socket.io er stillt til að byrja á HTTP-skoðanakönnun og uppfæra svo í WebSocket. Þetta tryggir að eldri vafrar geti tengst beint.
Kortun með OpenStreetMap
Við notum Leaflet með OpenStreetMap -- algjörlega ókeypis, enginn API-lykill þarf og opinn hugbúnaður.
Vinnsla í ferli
Bakgrunnsverk (útrunnin beiðni, GDPR-eyðing) keyra sem áætluð ferli í sama Node-ferli -- engrar ytri verkaraðar er þörf.
Gagnaflæði
- Kyrrstætt efni: Vafri --> Traefik --> nginx --> HTML/JS/CSS
- API-köll: Vafri --> Traefik --> Express --> PostgreSQL
- Rauntími: Vafri --> Traefik --> Socket.io (uppfærist frá skoðanakönnun í WebSocket)
CI/CD
Kóðageymsluhúsið er hýst á Codeberg með Woodpecker CI fyrir sjálfvirk próf og smíðar. Hver push keyrir backend- og frontend-próf og staðfestir að framleiðslusmíðin virki.
Öryggisákvarðanir
- JWT með HS256 -- Stöðulaus sannvottun með 24 klukkustunda gildistíma.
- Dulnefni -- BankID-nöfn eru aldrei sýnd sjálfkrafa.
- Haversine í stað PostGIS -- Einfaldara, léttara og nóg fyrir borgarmælikvarða.
- Minnisgrunnuð hraðatakmörkun -- Enginn Redis þarf fyrir eins þjóns uppsetningu.
Hýsing
Covey er hýst á VPS hjá GleSYS í Stokkhólmi, knúið endurnýjanlegri orku. TLS-vottorð eru sjálfkrafa meðhöndluð af Let's Encrypt.