NextJS Base Blog: Moderni blogin aloittaja Next.js 15:llä ja Tailwindillä

Jos etsit modernia blogin aloitusmallia, joka on rakennettu Next.js:llä, NextJS Base Blog -projekti on erinomainen lähtökohta. Se on täysin varusteltu avoimen lähdekoodin blogisovellus, joka on rakennettu Next.js 15:llä, React 19:llä, TypeScriptillä ja Tailwind CSS 4:llä .

Projekti tarjoaa puhtaan arkkitehtuurin, modernin käyttöliittymän componentsja simuloidun API-kerroksen, mikä tekee siitä ihanteellisen kehittäjille, jotka haluavat rakentaa blogin nopeasti ilman taustajärjestelmän perustamista.

GitHub-arkisto: https://github.com/bfotool/nextjs-base-blog

Tämä projekti on erityisen hyödyllinen seuraaville:

  • Kehittäjät oppivat Next.js-sovellustaRouter

  • Blogin tai sisältösivuston nopea rakentaminen

  • Next.js-malliprojektin luominen

  • Käyttöliittymäominaisuuksien kehittäminen ennen todellisen taustajärjestelmän API:n yhdistämistä

Projektin yleiskatsaus

NextJS Base Blog on suunniteltu tuotantovalmiiksi blogimalliksi, jossa on monia nykyaikaisilla sisältösivustoilla yleisesti käytettyjä ominaisuuksia.

Projekti sisältää:

  • kotisivu, jossa on esillä olevia julkaisuja

  • blogikirjoitussivut

  • luokkasuodatus

  • kokotekstihaku

  • sivunumerointi

  • sisällysluettelo

  • aiheeseen liittyvät viestit

  • tumma/vaalea teema

Yksi projektin mielenkiintoisimmista osista on Fake API Layer, joka simuloi REST API:a Axios-interceptorien avulla. Tämä mahdollistaa kehittäjien rakentaa ja testata sovellusta ilman erillistä taustapalvelinta .

Tärkeimmät ominaisuudet

Etusivu

Etusivulla on useita tärkeitä osioita:

  • esillä oleva sankaripostaus

  • luokkasuodattimet

  • blogikirjoitusten ruudukko

  • sivutettu navigointi

Sivuston ulkoasu on täysin responsiivinen ja optimoitu sekä tietokoneille että mobiililaitteille.

Blogikirjoitussivu

Jokainen artikkeli on saatavilla dynaamisen reitin kautta:

/blog/[slug]

Blogikirjoitussivulla on useita hyödyllisiä ominaisuuksia:

  • koko artikkelin sisältö

  • automaattinen sisällysluettelo

  • arvioitu lukuaika

  • sosiaalisen median jakopainikkeet

  • aiheeseen liittyviä ehdotuksia

Nämä ominaisuudet auttavat luomaan ammattimaisen lukukokemuksen, joka on samanlainen kuin nykyaikaisilla blogialustoilla.

Luokkasivut

Käyttäjät voivat selata julkaisuja luokittain.

Esimerkkireitti:

/blog/category/[slug]

Tämän ominaisuuden avulla lukijat voivat tutustua tiettyjen aiheiden sisältöön.

Hakutoiminto

Projekti sisältää sisäänrakennetun hakusivun:

/search

Haku tukee:

  • reaaliaikaiset tulokset

  • palautumaton syöte

  • haku nimikkeiden, katkelmien ja tunnisteiden joukosta

Tämä parantaa käytettävyyttä ja auttaa käyttäjiä löytämään asiaankuuluvaa sisältöä nopeasti.

Tietoja ja yhteystiedot -sivut

Projekti sisältää myös lisäsivuja, joita usein löytyy ammattiblogeista.

Tietoja sivusta

Tietoja-sivulla esitellään:

  • joukkue

  • projektin tarina

  • ydinarvot

Yhteystiedot

Yhteydenottosivulla on täysin validoitu lomake, jossa on seuraavat tiedot:

  • lomakkeen validointi

  • paahtoleipäilmoitukset

  • onnistumis- ja virhepalaute

Tumman tilan tuki

Blogi tukee sekä tummaa että vaaleaa tilaa .

Ominaisuuksiin kuuluvat:

  • automaattinen järjestelmäteeman tunnistus

  • manuaalinen vaihtokytkin

  • teeman pysyvyys paikallisen tallennuksen avulla

Väärennetty API-kerros(kehitys ilman taustajärjestelmää)

Yksi tämän projektin mielenkiintoisimmista osista on sen Fake API -järjestelmä .

Sen sijaan, että sovellus kutsuisi oikeaa palvelinta, se käyttää Axios-interceptoreita simuloidakseen REST API -vastauksia.

Kuinka väärennetty API toimii

  1. Axios-instanssi luodaan seuraavasti:

src/services/api-client.ts
  1. Kun ympäristömuuttuja on käytössä:

NEXT_PUBLIC_USE_MOCK_API=true
  1. Pyynnöt siepataan ennen kuin ne ehtivät verkkoon.

  2. Valekäsittelijät palauttavat tekaistuja vastauksia realistisilla viiveillä(200–600 ms).

  3. Vastaukset toimivat kuten oikeat API-vastaukset.

Mallitiedot tallennetaan seuraaviin paikkoihin:

src/mocks/

Mukaan lukien:

  • esimerkkipostauksia

  • kirjoittajat

  • kategoriat

Käytettävissä olevat API-päätepisteet

Mock-API tukee useita päätepisteitä:

Menetelmä Päätepiste Kuvaus
SAADA /viestit Sivutetut blogikirjoitukset
SAADA /postaukset/esillä Esittelyssä olevat julkaisut
SAADA /viestit/:etana Yksi blogikirjoitus
SAADA /luokat Luokkaluettelo
SAADA /kirjoittajat Tekijäluettelo
LÄHETTÄÄ /yhteystiedot Lähetä yhteydenottolomake

Teknologiapino

Projektissa käytetään modernia käyttöliittymäpinoa.

Kerros Teknologia
Kehys Next.js 15
Käyttöliittymäkirjasto Reaktio 19
Kieli TypeScript
Muotoilu Myötätuuli CSS 4
HTTP-asiakasohjelma Axios
Kuvakkeet Lucide React
Nukkautuminen ESLint
Muotoilu Kauniimpi

Tämä pino tarjoaa:

  • vahva tyyppiturvallisuus

  • ylläpidettävä arkkitehtuuri

  • moderni kehittäjäkokemus

Projektin rakenne

Projektin rakenne noudattaa selkeää ja skaalautuvaa arkkitehtuuria.

src/ 
├── app/ 
├── components/ 
├── services/ 
├── mocks/ 
├── contexts/ 
├── hooks/ 
├── types/ 
└── lib/ 

SovellusRouter

Hakemisto appsisältää kaikki sovellusreitit.

Esimerkkejä:

app/page.tsx 
app/blog/[slug]/page.tsx 
app/search/page.tsx 

Tämä seuraa Next.js-sovellusarkkitehtuuria Router, joka esiteltiin uudemmissa Next.js-versioissa.

Komponentit

Käyttöliittymät componentson järjestetty loogisiin ryhmiin:

components/layout 
components/common 
components/blog 

Tämä rakenne pitää käyttöliittymäkoodin järjestyksessä ja helpommin ylläpidettävänä.

Palvelukerros

Kansio servicessisältää API-logiikkaa:

  • API-asiakasohjelman määritys

  • postipalvelu

  • luokkapalvelu

  • yhteydenottolomakepalvelu

Tämä kerros erottaa tiedonhakulogiikan käyttöliittymästäcomponents, mikä parantaa skaalautuvuutta.

Asennusopas

Vaatimukset

Ennen aloittamista varmista, että sinulla on:

  • Node.js 18 tai uudempi

  • npm, lanka tai pnpm

Kloonaa arkisto

git clone https://github.com/bfotool/nextjs-base-blog.git 
cd nextjs-base-blog 

Asenna riippuvuudet

npm install

Ympäristömuuttujien määrittäminen

cp .env.example .env

Käynnistä kehityspalvelin

npm run dev

Avaa selain ja käy osoitteessa:

http://localhost:3000

Käytettävissä olevat skriptit

Komento Kuvaus
npm-ajokehitys Käynnistä kehityspalvelin
npm-ajon koonti Luo tuotantokoonti
npm-ajon aloitus Käynnistä tuotantopalvelin
npm-juoksun nukka Suorita ESLint
npm-ajomuoto Muotoile koodi Prettierillä
npm-ajotyypin tarkistus Suorita TypeScript-tarkistukset

Vaihtaminen oikeaan API:in

Jos haluat yhdistää projektin oikeaan taustajärjestelmän API:in, noudata näitä ohjeita.

Vaihe 1: Poista Mock-API käytöstä

Muokkaa .envtiedostoa:

NEXT_PUBLIC_USE_MOCK_API=false

Vaihe 2: Määritä API:n perus-URL-osoite

NEXT_PUBLIC_API_BASE_URL=https://your-api-server.com

Vaihe 3: Tietotyyppien täsmäys

Varmista, että taustajärjestelmän API palauttaa TypeScript-määritelmiä vastaavat tiedot kohdassa:

src/types/index.ts

Lisämuutoksia koodiin ei tarvita.

Sisällön mukauttaminen

Valesisältöä voi muokata sisällä:

src/mocks/posts.ts 
src/mocks/categories.ts 
src/mocks/authors.ts 

Tämä antaa kehittäjille mahdollisuuden muokata demosisältöä nopeasti.

Teeman ja käyttöliittymän mukauttaminen

Globaali tyyli löytyy seuraavista:

src/app/globals.css

Projektissa käytetään seuraavia fontteja:

  • DM Sans

  • JetBrains Mono

Voit muokata tyylejä tai korvata fontteja suunnitteluvaatimustesi mukaan.

Johtopäätös

NextJS Base Blog on tehokas ja moderni aloitusmalli blogin rakentamiseen Next.js:n avulla.

Hankkeen keskeisiä etuja ovat:

  • moderni teknologiapino

  • puhdas arkkitehtuuri

  • malli-API kehitystä varten

  • helppo integrointi oikeiden taustapään API-rajapintojen kanssa

  • responsiivinen käyttöliittymä ja modernit ominaisuudet

Jos rakennat blogia, kehittäjäsivustoa tai sisältöalustaa Next.js:n avulla, tämä repositorio voi säästää merkittävästi kehitysaikaa.

Tutustu lähdekoodiin täällä: https://github.com/bfotool/nextjs-base-blog