Techstacken bakom SpokNTechstacken bakom SpokN
SpokN är byggt för realtid, platsbaserad kommunikation och hög tillit. Det betyder att vår teknikstack behöver klara tre saker väldigt bra: snabb mobil upplevelse, stabil realtidskommunikation och en backend som kan växa säkert över tid.
SpokN är byggt för realtid, platsbaserad kommunikation och hög tillit. Det betyder att vår teknikstack behöver klara tre saker väldigt bra: snabb mobil upplevelse, stabil realtidskommunikation och en backend som kan växa säkert över tid. Vi bygger därför SpokN med en modern, produktionsinriktad stack där Flutter står för användarupplevelsen, Java och gRPC driver backend-kommunikationen, Keycloak hanterar identitet och Kubernetes ger oss kontroll över drift, skalning och säkerhet.
Frontend: Flutter för iOS, Android och web
Frontend i SpokN är byggd med Flutter, vilket gör att vi kan utveckla en snabb, responsiv och visuellt konsekvent app för både iOS, Android och på sikt web. Flutter passar SpokN särskilt bra eftersom appen är mycket visuell: kartor, chattar, meddelanden, media, notiser och platsbaserade flöden behöver fungera sömlöst tillsammans.
I SpokN använder vi bland annat:
- Flutter + Dart som bas för appen.
- go_router för navigation och routing.
- Riverpod för state management.
- flutter_map och OpenStreetMap för kartan.
- flutter_map_marker_cluster för att gruppera många chattar på kartan.
- geolocator, geocoding och permission_handler för plats, geokodning och behörigheter.
- grpc och protobuf för effektiv kommunikation med backend.
- flutter_secure_storage, http och crypto för auth-relaterad klientlogik.
- Firebase Messaging och flutter_local_notifications för pushnotiser.
- image_picker, image, video_player och v_video_compressor för bilder, video och mediahantering.
- app_links, share_plus och url_launcher för delning, deep links och externa länkar.
- Freezed och json_serializable för robusta modeller och genererad kod.
Realtidskommunikation med gRPC och Protobuf
SpokN bygger på idén att samtal ska kännas levande. När något händer i närheten ska användaren kunna se det direkt. Därför använder vi gRPC och Protocol Buffers för kommunikationen mellan app och backend.
gRPC ger oss ett tydligt API-kontrakt, effektiv binär serialisering och stöd för streaming. Det passar särskilt bra för en chattapp där klienten behöver kunna få uppdateringar löpande, snarare än att hela tiden fråga backend efter ny data.
Backend: Java som stabil grund
Backend i SpokN byggs med Java. Det ger oss en stabil, mogen och skalbar grund för tjänster som ska hantera realtidsdata, autentisering, behörigheter, platsbaserade sökningar, chattar, medlemmar, notiser och moderation.
Kubernetes för drift och skalning
SpokN är byggt med målet att kunna köras kontrollerat, säkert och skalbart. Med Kubernetes kan vi köra flera separata services, skala dem individuellt och hantera deployment på ett kontrollerat sätt. Det gör det enklare att växa från MVP till en större plattform utan att behöva byta arkitektur.
Keycloak för autentisering och identitet
Till autentisering använder vi Keycloak. Det ger oss en etablerad identitetsplattform med stöd för OpenID Connect, OAuth2, tokenhantering, roller och integrationer mot externa identity providers. För SpokN är identitet centralt — plattformen ska kunna bygga mer tillit än traditionella sociala flöden.
Relaterat