Teknihkalaš čađatčielggasvuohta
Rabas gáldu
Buot Covey gáldokodat leat rabasttit olahanlaččat Codeberg:s. Guhtege sáhttá geahčadit, oassálastit ja hukset viidáseappot koda alde.
Arkitektuvraoppalašgeahčastat
Covey sisttisdoallá njealji bálvalusaid mat ovttasbargot Docker Compose bokte:
| Bálvalus | Doaibma |
|---|---|
| Frontend | Webbačalmmustat huksejuvvon Preact:ain, bálvaluvvon nginx bokte |
| Backend | API ja áigeguovdilis kommunikašuvdna Express ja Socket.io bokte |
| Diehtovuođđu | PostgreSQL 16 dieđuid vurkemii |
| Traefik | Nubbigežii proksy automáhtalaš TLS-sertifikáhtahálddahusain |
Hábmenprinsihpat
Preact React sajis
Mii geavahit Preact (3 KB) React (40 KB) sajis vai appa gárgá jođánit maiddái boarráset rusttegiiguin ja njoazás oktavuođaiguin. API lea measta identtalaš.
Progressiivvalaš Webbaapl (PWA)
Covey juogaduvvo PWA:n -- ii dárbbaš appgávpi. Ásahit njuolga neahttaskáhppos, doaibmá offline vuođđodoaimmaide ja oažžu push-dieđáhusaid nugo dábálaš appa.
Álki iešvuohtabelohkin
Iešvuođat aktiveruvvojit birasmuuttuhagaid bokte, eai keeralaš systemmaid. Álki, luohtehahtti ja olgguldas giehtalasaid haga.
Polling-vuosttažettiin heivehanvuhtii
Socket.io konfiguruvvo álgit HTTP-pollingin ja de bajiduvvon WebSocketii. Dát dáhkida ahte boarráset neahttaskáhput sáhttet oktanit njuolga.
Kárttačájeheapmi OpenStreetMap:ain
Mii geavahit Leaflet OpenStreetMap:ain -- ollásit nuvttá, ii API-čoavdda dárbbaš, ja rabas gáldu.
Proseassa-siste bargit
Duogášdagut (gáibádusaid áigemeari nohkan, GDPR-sihkkun) čađahuvvojit skedulejuvvon proseassan seamma Node-proseassas -- ii olggobealde bargolinja dárbbaš.
Dieđuidmannu
- Statihkalaš sisdoallu: Neahttaskáhppu → Traefik → nginx → HTML/JS/CSS
- API-rávkkat: Neahttaskáhppu → Traefik → Express → PostgreSQL
- Áigeguovdilis: Neahttaskáhppu → Traefik → Socket.io (bajida pollingin rájes WebSocketii)
CI/CD
Kodarepo leat Codeberg:s Woodpecker CI:in automáhtalaš testemiiguin ja huksemiiguin. Juohke push čađaha backend- ja frontend-testtaid ja duohtasta ahte produkšuvdnahuksen doaibmá.
Oadjebasmearrádusat
- JWT HS256:in -- Stáhtuskeahtes duohtasteapmi 24 diimmu áigemeariin.
- Suolálaš namat -- BankID-namat eai goassege automáhtalaččat čájehuvvo.
- Haversine PostGIS sajis -- Álkit, geahnohut ja doarvái gávpotlávdadii.
- Muittuvuođđuduvvon dássioainnusteapmi -- Ii Redis dárbbaš ovtta servera distribušuvdnii.
Hostigen
Covey leat hostejuvvon VPS:as GleSYS:s Stockholmas, doaimmahuvvon ođasmahtti energiijaiguin. TLS-sertifikáhtat hálddahuvvojit automáhtalaččat Let's Encrypt bokte.