Honor Notes
2026
Eriytetty full-stack-muistiinpanosovellus — Next.js-käyttöliittymä ja Dockeroitu REST-rajapinta, jaetut TypeScript-tyypit palveluiden välillä
Rooli
Yksin toteutettu
Tila
Valmis
Live
Näytä sivustoLähdekoodi
GitHubMitä 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