Сучасний та ефективний додаток для управління особистими нотатками з функцією пошуку та організованою структурою.
06-notehub-nextjs/
├── app/
│ ├── globals.css
│ ├── layout.tsx
│ ├── page.tsx
│ ├── loading.tsx
│ ├── error.tsx
│ └── notes/
│ ├── page.tsx
│ ├── Notes.client.tsx
│ ├── loading.tsx
│ ├── error.tsx
│ └── [id]/
│ ├── page.tsx
│ ├── NoteDetails.client.tsx
│ ├── loading.tsx
│ └── error.tsx
├── components/
│ ├── Header/
│ ├── Footer/
│ ├── NoteList/
│ ├── NoteForm/
│ ├── SearchBox/
│ ├── Pagination/
│ ├── Modal/
│ ├── Loader/
│ ├── ErrorMessage/
│ ├── ErrorMessageEmpty/
│ └── TanStackProvider/
├── lib/
│ └── api.ts
├── types/
│ └── note.ts
└── public/
Клонування репозиторію:
git clone <repository-url>
cd 06-notehub-nextjs
Встановлення залежностей:
npm install
Налаштування змінних середовища:
Створіть файл .env.local
в корені проєкту:
NEXT_PUBLIC_NOTEHUB_TOKEN=your_api_token_here
Запуск в режимі розробки:
npm run dev
Збірка для продакшену:
npm run build
npm start
NEXT_PUBLIC_NOTEHUB_TOKEN
Важливо: Переконайтеся, що змінна середовища NEXT_PUBLIC_NOTEHUB_TOKEN
налаштована в Vercel, інакше додаток не зможе отримувати дані з API.
fetchNotes(search, page)
- отримання списку нотатокcreateNote(note)
- створення нової нотаткиdeleteNote(id)
- видалення нотаткиfetchNoteById(id)
- отримання деталей нотаткиapp/page.tsx
- головна сторінкаapp/notes/page.tsx
- сторінка списку нотатокapp/notes/[id]/page.tsx
- сторінка деталей нотаткиapp/notes/Notes.client.tsx
- логіка списку нотатокapp/notes/[id]/NoteDetails.client.tsx
- логіка деталей нотаткиHeader
- навігаціяFooter
- футер з контактною інформацієюNoteList
- список нотатокNoteForm
- форма створення/редагуванняSearchBox
- пошукPagination
- пагінаціяModal
- модальні вікнаLoader
- індикатор завантаженняErrorMessage
- обробка помилокВикористовується TanStack Query для:
Yevhen Shymka
© 2024 NoteHub. All rights reserved.