თუ თქვენ ეძებთ Next.js-ით შექმნილ თანამედროვე ბლოგის სასტარტო შაბლონს, NextJS Base Blog პროექტი შესანიშნავი საწყისი წერტილია. ეს არის სრულფუნქციური ღია კოდის ბლოგის აპლიკაცია, რომელიც შექმნილია Next.js 15-ის, React 19-ის, TypeScript-ის და Tailwind CSS 4-ის გამოყენებით .
პროექტი გთავაზობთ სუფთა არქიტექტურას, თანამედროვე ინტერფეისს componentsდა იმიტირებულ API ფენას, რაც მას იდეალურს ხდის დეველოპერებისთვის, რომელთაც სურთ ბლოგის სწრაფად შექმნა ბექენდის დაყენების გარეშე.
GitHub-ის საცავი: https://github.com/bfotool/nextjs-base-blog
ეს პროექტი განსაკუთრებით სასარგებლოა:
დეველოპერები სწავლობენ Next.js აპლიკაციასRouter
ბლოგის ან კონტენტის ვებსაიტის სწრაფად შექმნა
Next.js-ის შაბლონური პროექტის შექმნა
UI ფუნქციების შემუშავება რეალური backend API-ის დაკავშირებამდე
პროექტის მიმოხილვა
NextJS Base Blog შექმნილია როგორც წარმოებისთვის მზა ბლოგის შაბლონი, რომელსაც თანამედროვე კონტენტის ვებსაიტებში არსებული მრავალი საერთო ფუნქცია აქვს.
პროექტი მოიცავს:
მთავარი გვერდი გამორჩეული პოსტებით
ბლოგ პოსტების გვერდები
კატეგორიის ფილტრაცია
სრული ტექსტის ძიება
გვერდების დახარისხება
შინაარსი
დაკავშირებული პოსტები
მუქი/ღია თემა
პროექტის ერთ-ერთი ყველაზე საინტერესო ნაწილია Fake API Layer, რომელიც ახდენს REST API-ის სიმულირებას Axios ინტერცეპტორების გამოყენებით. ეს საშუალებას აძლევს დეველოპერებს შექმნან და გამოსცადონ აპლიკაცია ბექენდ სერვერის გარეშე .
ძირითადი მახასიათებლები
მთავარი გვერდი
მთავარ გვერდზე რამდენიმე მნიშვნელოვანი განყოფილებაა ნაჩვენები:
გამორჩეული გმირის პოსტი
კატეგორიის ფილტრები
ბლოგ პოსტების ბადე
გვერდებიანი ნავიგაცია
განლაგება სრულად ადაპტირებადია და ოპტიმიზირებულია როგორც დესკტოპის, ასევე მობილური მოწყობილობებისთვის.
ბლოგ პოსტის გვერდი
თითოეული სტატია ხელმისაწვდომია დინამიური მარშრუტის საშუალებით:
/blog/[slug]
ბლოგ პოსტის გვერდი მოიცავს რამდენიმე სასარგებლო ფუნქციას:
სტატიის სრული შინაარსი
ავტომატური შინაარსის ცხრილი
სავარაუდო კითხვის დრო
სოციალური გაზიარების ღილაკები
დაკავშირებული პოსტების შემოთავაზებები
ეს ფუნქციები ხელს უწყობს პროფესიონალური კითხვის გამოცდილების შექმნას, თანამედროვე ბლოგინგის პლატფორმების მსგავსი.
კატეგორიის გვერდები
მომხმარებლებს შეუძლიათ პოსტების კატეგორიის მიხედვით დათვალიერება.
მაგალითის მარშრუტი:
/blog/category/[slug]
ეს ფუნქცია მკითხველს საშუალებას აძლევს, შეისწავლოს შინაარსი კონკრეტულ თემებში.
ძიების ფუნქციონალი
პროექტს აქვს ჩაშენებული საძიებო გვერდი:
/search
ძიება მხარს უჭერს:
რეალურ დროში შედეგები
გაუქმებული შეყვანა
სათაურების, ამონარიდების და თეგების მიხედვით ძიება
ეს აუმჯობესებს გამოყენებადობას და ეხმარება მომხმარებლებს სწრაფად იპოვონ შესაბამისი შინაარსი.
შესახებ და საკონტაქტო გვერდები
პროექტი ასევე მოიცავს დამატებით გვერდებს, რომლებიც ხშირად გვხვდება პროფესიულ ბლოგებზე.
გვერდის შესახებ
გვერდი „შესახებ“ წარმოგიდგენთ:
გუნდი
პროექტის ისტორია
ძირითადი ღირებულებები
საკონტაქტო გვერდი
საკონტაქტო გვერდი შეიცავს სრულად დამოწმებულ ფორმას, რომელიც შეიცავს:
ფორმის ვალიდაცია
შეტყობინებები
წარმატებისა და შეცდომის გამოხმაურება
ბნელი რეჟიმის მხარდაჭერა
ბლოგი მხარს უჭერს როგორც ბნელ, ასევე ღია რეჟიმებს .
მახასიათებლები მოიცავს:
სისტემის თემის ავტომატური ამოცნობა
ხელით გადართვა
თემის შენარჩუნება localStorage-ის გამოყენებით
ყალბი API ფენა(განვითარება ბექენდის გარეშე)
ამ პროექტის ერთ-ერთი ყველაზე საინტერესო ნაწილი მისი ყალბი API სისტემაა .
რეალური სერვერის გამოძახების ნაცვლად, აპლიკაცია იყენებს Axios ინტერცეპტორებს REST API პასუხების სიმულირებისთვის.
როგორ მუშაობს ყალბი API
Axios-ის ეგზემპლარი იქმნება:
src/services/api-client.ts
როდესაც გარემოს ცვლადი ჩართულია:
NEXT_PUBLIC_USE_MOCK_API=true
მოთხოვნები ქსელში მოხვედრამდე იჭრება.
იმიტირებული დამმუშავებლები ყალბ პასუხებს რეალისტური დაგვიანებით(200–600 მილიწამი) აბრუნებენ.
პასუხები იქცევიან როგორც რეალური API პასუხები.
იმიტირებული მონაცემები ინახება:
src/mocks/
მათ შორის:
ნიმუშის პოსტები
ავტორები
კატეგორიები
ხელმისაწვდომი API საბოლოო წერტილები
მოჩვენებითი API მხარს უჭერს რამდენიმე საბოლოო წერტილს:
| მეთოდი | საბოლოო წერტილი | აღწერა |
|---|---|---|
| მიიღეთ | /პოსტები | გვერდებად დაყოფილი ბლოგის პოსტები |
| მიიღეთ | /პოსტები/რჩეული | გამორჩეული პოსტები |
| მიიღეთ | /პოსტები/:slug | ერთი ბლოგ პოსტი |
| მიიღეთ | /კატეგორიები | კატეგორიების სია |
| მიიღეთ | /ავტორები | ავტორთა სია |
| პოსტი | /კონტაქტი | საკონტაქტო ფორმის გაგზავნა |
ტექნოლოგიების დასტა
პროექტი იყენებს თანამედროვე ფრონტენდ სტეკს.
| ფენა | ტექნოლოგია |
|---|---|
| ჩარჩო | შემდეგი.js 15 |
| ინტერფეისის ბიბლიოთეკა | რეაქცია 19 |
| ენა | TypeScript |
| სტილი | Tailwind CSS 4 |
| HTTP კლიენტი | აქსიოსი |
| ხატები | ლუსიდის რეაქცია |
| ლინტინგი | ESLint |
| ფორმატირება | უფრო ლამაზი |
ეს დასტა უზრუნველყოფს:
ძლიერი ტიპის უსაფრთხოება
შენარჩუნების უნარის მქონე არქიტექტურა
თანამედროვე დეველოპერის გამოცდილება
პროექტის სტრუქტურა
პროექტის სტრუქტურა მიჰყვება სუფთა და მასშტაბირებად არქიტექტურას.
src/
├── app/
├── components/
├── services/
├── mocks/
├── contexts/
├── hooks/
├── types/
└── lib/
აპლიკაციაRouter
დირექტორია appშეიცავს ყველა აპლიკაციის მარშრუტს.
მაგალითები:
app/page.tsx
app/blog/[slug]/page.tsx
app/search/page.tsx
ეს Next.js აპლიკაციის Routerარქიტექტურას მიჰყვება, რომელიც Next.js-ის ახალ ვერსიებშია წარმოდგენილი.
კომპონენტები
ინტერფეისი componentsლოგიკურ ჯგუფებად იყოფა:
components/layout
components/common
components/blog
ეს სტრუქტურა UI კოდს ორგანიზებულს და მის შენარჩუნებას აადვილებს.
სერვისების ფენა
საქაღალდე servicesშეიცავს API-სთან დაკავშირებულ ლოგიკას:
API კლიენტის კონფიგურაცია
ფოსტის სერვისი
კატეგორიის სერვისი
საკონტაქტო ფორმის სერვისი
ეს ფენა ჰყოფს მონაცემთა მოძიების ლოგიკას მომხმარებლის ინტერფეისისგანcomponents, რაც აუმჯობესებს მასშტაბირებას.
ინსტალაციის სახელმძღვანელო
მოთხოვნები
დაწყებამდე დარწმუნდით, რომ გაქვთ:
Node.js 18 ან უფრო გვიანდელი ვერსია
npm, ნართი ან pnpm
რეპოზიტორიის კლონირება
git clone https://github.com/bfotool/nextjs-base-blog.git
cd nextjs-base-blog
ინსტალაციის დამოკიდებულებები
npm install
გარემოს ცვლადების კონფიგურაცია
cp .env.example .env
გაუშვით განვითარების სერვერი
npm run dev
გახსენით თქვენი ბრაუზერი და ეწვიეთ:
http://localhost:3000
ხელმისაწვდომი სკრიპტები
| ბრძანება | აღწერა |
|---|---|
| npm run developer | გაუშვით განვითარების სერვერი |
| npm-ის გაშვების ბილდი | შექმენით საწარმოო ბილდი |
| npm გაშვების დაწყება | წარმოების სერვერის გაშვება |
| npm run lint | ESLint-ის გაშვება |
| npm გაშვების ფორმატი | კოდის ფორმატირება Prettier-ით |
| npm-ის გაშვების ტიპის შემოწმება | TypeScript შემოწმების გაშვება |
რეალურ API-ზე გადასვლა
თუ გსურთ პროექტის რეალურ backend API-თან დაკავშირება, მიჰყევით ამ ნაბიჯებს.
ნაბიჯი 1: გამორთეთ Mock API
ფაილის რედაქტირება .env:
NEXT_PUBLIC_USE_MOCK_API=false
ნაბიჯი 2: დააყენეთ API ბაზის URL
NEXT_PUBLIC_API_BASE_URL=https://your-api-server.com
ნაბიჯი 3: მონაცემთა ტიპების შესაბამისობა
დარწმუნდით, რომ თქვენი backend API აბრუნებს მონაცემებს, რომლებიც შეესაბამება TypeScript განმარტებებს შემდეგ ველებში:
src/types/index.ts
დამატებითი კოდის ცვლილებები არ არის საჭირო.
კონტენტის პერსონალიზაცია
იმიტირებული შინაარსის რედაქტირება შესაძლებელია შიგნით:
src/mocks/posts.ts
src/mocks/categories.ts
src/mocks/authors.ts
ეს საშუალებას აძლევს დეველოპერებს სწრაფად მოარგონ დემო შინაარსი.
თემისა და ინტერფეისის პერსონალიზაცია
გლობალური სტილის პოვნა შესაძლებელია შემდეგ ადგილებში:
src/app/globals.css
პროექტი იყენებს შემდეგ შრიფტებს:
DM Sans
JetBrains Mono
თქვენ შეგიძლიათ შეცვალოთ სტილები ან შეცვალოთ შრიფტები თქვენი დიზაინის მოთხოვნების შესაბამისად.
დასკვნა
NextJS Base Blog არის ძლიერი და თანამედროვე სასტარტო შაბლონი Next.js-ის გამოყენებით ბლოგის შესაქმნელად.
პროექტის ძირითადი უპირატესობები მოიცავს:
თანამედროვე ტექნოლოგიების დასტა
სუფთა არქიტექტურა
დეველოპერებისთვის განკუთვნილი API-ის იმიტაცია
მარტივი ინტეგრაცია რეალურ backend API-ებთან
რესპონსიული ინტერფეისი და თანამედროვე ფუნქციები
თუ Next.js-ის გამოყენებით ბლოგს, დეველოპერის ვებსაიტს ან კონტენტ პლატფორმას ქმნით, ამ საცავს შეუძლია მნიშვნელოვნად დაგიზოგოთ დრო განვითარებისთვის.
საწყისი კოდის სანახავად ეწვიეთ ბმულს: https://github.com/bfotool/nextjs-base-blog



