Читати іншою мовою: Українська, English.
Це додаток NextLevel Food, створений на Next.js, TypeScript та React
Цей базовий додаток демонструє платформу для гурманів, де вони можуть ділитися своїми улюбленими рецептами з усім світом. Це місце для відкриття нових страв і спілкування з іншими поціновувачами їжі.
Додаток у цьому репозиторії розгорнуто на сайтi , за цією URL-адресою: https://nextlevel-food-amber.vercel.app/
Але ви можете використовувати цей додаток вручну на своєму локальному комп’ютері
- Next.js - Фреймворк на базі React для створення швидких, повнофункціональних вебзастосунків із серверним рендерингом і генерацією статичних сторінок
- React - Бібліотека, що використовується для створення користувацьких інтерфейсів, особливо для односторінкових застосунків, де потрібен швидкий та інтерактивний досвід
- Prisma – Сучасний ORM, який спрощує доступ до бази даних, надаючи типобезпечний, автоматично згенерований конструктор запитів та інтуїтивно зрозумілий API для ефективної та надійної роботи з реляційними базами даних
- TypeScript – статична типізація для безпечнішого та зручнішого в підтримці коду
- AWS S3 - Масштабоване сховище об'єктного зберігання, яке використовується для зберігання та доставки зображень у застосунку
- slugify – Утиліта для перетворення рядків у URL-дружні «слаги»
- xss – Бібліотека для очищення користувацького вводу з метою запобігання атакам типу XSS (міжсайтове скриптування)
- Tailwind CSS – CSS-фреймворк з підходом utility-first для швидкої та адаптивної стилізації інтерфейсу
Повний список залежностей можна знайти у файлі package.json.
- Server Components – Дозволяє відтворювати частини інтерфейсу на сервері з повним доступом до бекенд-ресурсів, покращуючи продуктивність і безпеку
- App Router – Файлова маршрутизація з підтримкою лейаутів, вкладених маршрутів, станів завантаження/помилок та метаданих, специфічних для кожного маршруту
- Server-Side Rendering (SSR) – Рендеринг сторінок при кожному запиті, ідеально підходить для динамічного контенту та SEO
- Static Site Generation (SSG) – Попередній рендеринг сторінок під час збірки для швидкої роботи та зручного кешування через CDN
- Client Components – Стандартні React-компоненти, які рендеряться у браузері; корисні для інтерактивного інтерфейсу
- Image Optimization – Вбудована підтримка автоматичної зміни розміру зображень, відкладеного завантаження та оптимізації через CDN за допомогою компонента next/image
- Dynamic Routing – Створення динамічних сторінок з параметрами URL за допомогою конвенцій іменування файлів та папок
- Metadata and SEO – Додавання метаданих на рівні сторінки (статичних або динамічних) для SEO та прев’ю в соціальних мережах
- Streaming and Suspense – Вбудована підтримка React Suspense, що дозволяє потокову передачу сегментів інтерфейсу
- Built-in CSS and Sass Support – Стилізування компонентiв за допомогою модульних або глобальних стилів з автоматичним обмеженням області дії
- revalidatePath – Дозволяє скасовувати кеш за вимогою для конкретних маршрутів або шляхів, забезпечуючи користувачам оновлений контент без необхідності повного перебудовування застосунку
- Server Actions – Дозволяє виконувати серверну логіку (наприклад, обробку форм, оновлення бази даних або виклики API) безпосередньо з клієнтських компонентів без необхідності окремого API-роуту
- useFormState – Керує та оновлює стан форми під час використання серверних дій, забезпечуючи більш чисту та реактивну обробку інтерфейсу
- useFormStatus – Надає поточний статус відправлення форми (наприклад, у процесі), корисний для відключення кнопок або відображення індикаторів завантаження
- Link – Компонент для навігації на стороні клієнта, який забезпечує плавні та швидкі переходи між маршрутами без повного перезавантаження сторінки
- Image – Оптимізований компонент для зображень, який автоматично керує зміною розміру, відкладеним завантаженням та вибором формату для покращення продуктивності
- redirect – Утиліта для програмної переадресації користувачів на різні маршрути, часто використовується після відправки форм або для контролю доступу
- usePathname – React-хук, який повертає поточний шлях URL, корисний для умовного відображення інтерфейсу на основі активного маршруту
- Components - Основні компоненти React-застосунків, повторно використовувані та інкапсульовані елементи інтерфейсу
- useState, useEffect - Основні хуки для керування станом і життєвим циклом компонентів
- Props - Механізм передачі даних та обробників подій від батьківських до дочірніх компонентів
- Rendering Lists - Динамічне відображення списку елементів шляхом ітерації по масивах
- Conditional Rendering - Відображення різних елементів інтерфейсу залежно від стану застосунку, пропсів або умов
- useRef - Зберігає посилання на DOM-елемент або значення без виклику повторних рендерів
- Suspense - Відображає запасний інтерфейс (наприклад, індикатор завантаження), поки завантажуються компоненти, підвантажені за допомогою lazy
- Склонуйте репозиторій:
git clone https://github.com/labattaria/nextlevel-food.git- Встановіть залежності проекту:
cd nextlevel-food
npm installЗапустіть дев-сервер за допомогою наступної команди:
npm run devСервер буде доступний за адресою http://localhost:3000/
