# Utformade arkitekturen för en skiktad sjöfartsplattform som håller isär en PWA‑frontend i Next.js, ett API i Go (Huma/Fiber) och ett funktionsskikt i PostgreSQL, med all affärslogik i databasen.

2025

**Situation.** Produkten skulle bli en maritim plattform — professionellt nätverkande, företagsrecensioner, sponsrad utbildning — och det var en ung produkt, vilket är ett artigt sätt att säga att kraven skulle komma att ändras en hel del. Det som skulle undvikas var en arkitektur där en ändrad affärsregel innebar att frontenden, API:et och databasen måste röras samtidigt. I en liten kodbas som växer snabbt är det den sortens koppling som gör en ändring på två rader till ett eftermiddagsjobb.

**Uppgift.** I rollen som arkitekt gällde det att redan från början avgöra var varje sorts logik skulle ligga, med gränser tydliga nog att hålla under press i stället för att suddas ut första gången någon hade bråttom.

**Handling.** Det landade i tre lager, med ett jobb var. Next.js‑frontenden sköter presentation och interaktivitet och ingenting annat. Go‑API:et — Huma ovanpå Fiber — är medvetet tunt: det routar, validerar förfrågan, tillämpar säkerhetsfiltreringen och orkestrerar, men innehåller ingen affärslogik alls. All affärslogik ligger i PostgreSQL‑funktioner, som sätter ihop hela resultatet och lämnar tillbaka det för API:et att vidarebefordra. Så när en regel ändras, ändras den i ett lager, i SQL, och de andra två behöver inte veta om det. Gränserna skrevs ned och upprätthölls sedan i kodgranskningen, eftersom en konvention som ingen bevakar slutar vara en konvention.

**Resultat.** Det hela förblev lätt att hålla i huvudet. Affärslogiken sitter på ett ställe som faktiskt går att granska, API:et är en tråkig adapter i ordets goda bemärkelse, och frontenden bryr sig inte när schemat förändras under den. Den uppdelningen är det som lät produkten fortsätta bygga på med nya funktioner utan att arkitekturen i det tysta ruttnade.

---

- Roll: Plattformsarkitekt
- Kategorier: [Plattformsarkitektur](https://software.engineer.company/sv/categories/platform-architecture/), [Lösningsarkitektur](https://software.engineer.company/sv/categories/solution-architecture/), [Backendutveckling](https://software.engineer.company/sv/categories/backend/), [Frontendutveckling](https://software.engineer.company/sv/categories/frontend/), [Fullstackutveckling](https://software.engineer.company/sv/categories/full-stack/), [API:er och integration](https://software.engineer.company/sv/categories/api/), [Databaser](https://software.engineer.company/sv/categories/databases/), [PostgreSQL](https://software.engineer.company/sv/categories/postgresql/), [Tekniskt ledarskap](https://software.engineer.company/sv/categories/technical-leadership/)
- Tjänster: [Plattforms- och lösningsarkitektur](https://software.engineer.company/sv/services/platform-architecture/), [Backend- och API‑utveckling](https://software.engineer.company/sv/services/backend-development/), [Frontendutveckling](https://software.engineer.company/sv/services/frontend-development/), [Fullstackutveckling av produkter](https://software.engineer.company/sv/services/full-stack-development/), [Databasdesign och datamodellering](https://software.engineer.company/sv/services/database-design/)

<https://software.engineer.company/sv/portfolio/architected-a-layered-maritime-platform-separating-a-next-57/>
