Веб-сайт для современной столовой или кафе

Веб-сайт для современной столовой или кафе

Обзор проекта

Веб-сайт для современной столовой или кафе, разработанный на современном стеке технологий. Проект сочетает в себе высокую производительность, удобство управления контентом и привлекательный индивидуальный дизайн, ориентированный на конечного пользователя.

Технический стек: Фронтенд

  • Фреймворк: Next.js 15+ с использованием App Router
  • Язык программирования: TypeScript для обеспечения типобезопасности
  • Стилизация: Индивидуальный дизайн, реализованный с помощью CSS-модулей (или Tailwind CSS / Styled Components)
  • Рендеринг: Серверный рендеринг (SSR) и статическая генерация (SSG) для ключевых страниц
  • Метрика: Интеграция Яндекс.Метрики для сбора和分析 данных о посетителях

Технический стек: Бэкенд и админ-панель

  • CMS/Backend: Strapi 5 (headless CMS с REST/GraphQL API)
  • База данных: SQLite для хранения контента, пользователей и заявок
  • Панель управления: Встроенная административная панель Strapi с настроенными коллекциями и правами доступа
  • Аутентификация: JWT-токены для защиты API

Ключевой функционал для пользователей

  • Главная страница: Уникальный дизайн с ключевой информацией о заведении
  • Секция меню:
    • Динамический вывод блюд из базы данных Strapi
    • Фильтр блюд по категориям (категории управляются через админ-панель)
    • Адаптивные карточки блюд с изображениями, описанием и ценой
  • Раздел "Блог":
    • Серверный рендеринг статей для SEO
    • Вывод списка статей и отдельных записей
    • Чистые и семантические URL (SLUG)
  • Форма обратной связи:
    • Форма для отправки заявок (столик, обратный звонок, вопрос)
    • Валидация данных на клиенте и сервере
    • Мгновенное уведомление в Telegram через бота

Интеграции и API

  • Внутреннее API: Создание конечных точек (endpoints) в Strapi для обработки форм
  • Внешнее API: Интеграция с Telegram Bot API для отправки сообщений
  • Взаимодействие: Форма на Next.js отправляет данные на API Strapi, который, в свою очередь, отправляет уведомление в Telegram

Развертывание и сервер

  • Среда выполнения: Проект развернут на виртуальном сервере (VPS)
  • Веб-сервер: Настроенный Nginx в качестве reverse proxy для Next.js и Strapi
  • Процессы: Управление процессами через PM2
  • Среда: Настройка переменных окружения для безопасного хранения ключей и настроек
  • Домены: Настройка доменных имен и SSL-сертификатов (HTTPS)

Административная панель (Strapi)

  • Управление контентом: CRUD-операции для меню, категорий, блог-постов
  • Управление медиа: Встроенный медиабиблиотекарь для загрузки изображений блюд и статей
  • Управление заявками: Просмотр полученных заявок с сайта в админ-панели
  • Роли и права: Настройка прав доступа для администраторов и контент-менеджеров
Веб-сайт для современной столовой или кафе, разработанный на современном стеке технологий