Connect (Kontaktbokstjänst on-prem)
Connect är en lokal webbapplikation för hantering och distribution av verksamhetskontakter. Tjänsten ersätter ett arbetssätt där verksamheter använder Google-konton och gör det möjligt att importera, underhålla och distribuera kontaktböcker inom organisationens egen infrastruktur.
Bakgrund
Många verksamheten använder idag Google-konton för att hantera och distribuera kontaktuppgifter till personal. Detta arbetssätt är inte hållbart långsiktigt ur ett drift-, säkerhets- och förvaltningsperspektiv.
För att ersätta detta har jag utvecklat en lokal(on-prem) webbapplikation: Connect.
Syfte
- möjliggöra lokal hantering av kontaktböcker
- eliminera beroendet av externa molntjänster (t.ex. Google)
- förenkla distribution av kontaktuppgifter till personal
- säkerställa att kontaktdata hanteras inom organisationens egen infrastruktur
Övergripande funktion
Connect är en webbapplikation där samordnare kan importera, administrera och distribuera kontaktböcker till personal.
Samordnare
- importerar kontaktböcker (t.ex. från Google via CSV)
- redigerar och underhåller kontakter
- organiserar kontaktböcker
Systemet
- genererar en QR-kod per kontaktbok
- skapar kontaktfiler i VCF/vCard-format
- gör kontaktböcker tillgängliga internt via webbgränssnitt
Personal
- skannar QR-koden med mobiltelefon
- laddar ner kontaktfil (VCF/vCard)
- importerar kontakterna direkt till telefonens kontaktlista
Huvudfunktioner
- Användarhantering (inloggning med lösenord eller PIN)
- Rollbaserad åtkomst (admin, owner, user)
- Skapa och hantera kontaktböcker
- Import av kontakter via CSV
- Manuell redigering av kontakter
- Delning av kontaktböcker via QR-kod
- Export till vCard (VCF) för mobilimport
Teknisk översikt
| Komponent | Teknik |
|---|---|
| Backend | Node.js (Express) |
| Databas | SQLite (lokal fil) |
| Autentisering | JWT (cookie-baserad) |
| Lösenordshantering | bcrypt |
| Frontend | HTML/CSS/JS (vanilla) |
| QR-generering | qrcode (npm) |
| Distribution | HTTP (webbserver) |
- Node.js (version ≥ 18 rekommenderas)
- Linux- eller Windows-server (on-prem)
- Ingen extern databas krävs (SQLite används)
- Ingen internetuppkoppling krävs för drift (förutom ev. initial installation)
Säkerhet
- Lösenord lagras hashade (bcrypt)
- JWT används för sessionshantering
- Rollbaserad åtkomstkontroll
- Möjlighet att köra helt isolerat från externa tjänster
Lagring
All data lagras lokalt i en SQLite-databas (app.db).
Innehåll:
- användare
- kontaktböcker
- kontakter
- behörigheter
Backup kan ske genom enkel kopiering av databasfil.
Målgrupp
- Samordnare (administration av kontaktböcker)
- Personal (konsument av kontakter via mobil)
Nytta för verksamheten
- Tar bort beroendet av Google-konton
- Centraliserar kontaktdata
- Förenklar distribution till personal
- Ökar kontroll över data (on-prem)
- Minskad administrativ belastning
Övrigt
- Systemet är avsett för intern användning
- Ingen integration med externa system krävs
Skärmbilder från systemet