Honor Notes

2026

Eriytetty full-stack-muistiinpanosovellus — Next.js-käyttöliittymä ja Dockeroitu REST-rajapinta, jaetut TypeScript-tyypit palveluiden välillä

TypeScriptNext.jsDockerREST API

Rooli

Yksin toteutettu

Tila

Valmis

Lähdekoodi

GitHub

Mitä rakensin

Muistiinpanosovellus, joka on jaettu kahdeksi itsenäiseksi palveluksi: Next.js-käyttöliittymäksi ja erilliseksi Dockeroiduksi REST-rajapinnaksi. Jako on tarkoituksellinen, ja repot jakavat TypeScript-rajapintapaketin, joten rajapintasopimus on tyyppiturvallinen molemmissa päissä. Käyttöliittymä käyttää rajapintaa HTTP:n yli, ja rajapinta hoitaa kaiken tallennuksen ja muokkauksen. Kumman tahansa palvelun voi korvata tai julkaista erikseen.

Ominaisuudet: muistiinpanojen luonti, luku, muokkaus ja poisto, tagipohjainen järjestely sekä pysyvä tallennus rajapinnan kautta.

Mitä opin

Tärkein oppi koski palvelurajojen hintaa. Monoliitissa tyyppien jakaminen on triviaalia. Kun kaksi erillistä repoa keskustelee HTTP:n yli, rajapintasopimus on mietittävä tarkkaan: minkä muotoisia pyynnöt ja vastaukset ovat, ja miten molemmat päät pidetään synkassa, kun sopimus muuttuu. Jaetun tyyppipaketin ylläpito opetti, miksi rajapintojen versiointi ja selkeät sopimukset merkitsevät enemmän kuin pienissä projekteissa äkkiseltään näyttää.

Kohokohdat

  • Muistiinpanojen luonti, luku, muokkaus ja poisto
  • Tagipohjainen järjestely
  • Eriytetty Next.js-käyttöliittymä ja Dockeroitu REST-rajapinta
  • Jaetut TypeScript-tyypit molemmissa palveluissa
  • Kumpikin palvelu julkaistavissa erikseen

Teknologiat

  • Kieli: TypeScript (jaetut tyypit)
  • Käyttöliittymä: Next.js
  • Taustapalvelu: Dockeroitu REST-rajapinta
  • Siirtotapa: HTTP