BOTTLE [CODE] Landing Page — это современный многоязычный веб-сайт для комплексного решения автоматизации процессов маркировки на предприятиях по производству пива, сидра и других напитков. Проект представляет собой систему сериализации и агрегации кодов системы "Честный Знак".
Лендинг создан для:
- Презентации возможностей решения BOTTLE [CODE]
- Демонстрации веб-интерфейса и desktop приложения
- Сбора заявок от потенциальных клиентов
- Автоматизации процесса обработки обращений через Яндекс.Трекер
- Next.js 15.3.1 — React фреймворк с поддержкой SSG/SSR
- TypeScript 5.6.3 — строгая типизация JavaScript
- HeroUI 2.4.18 — современная UI библиотека компонентов
- Tailwind CSS 3.4.16 — utility-first CSS фреймворк
- Framer Motion 11.13.1 — библиотека анимаций
- next-i18next 15.4.2 — поддержка русского и английского языков
- react-i18next 15.5.3 — React интеграция для i18n
- React Email — создание красивых email шаблонов
- Nodemailer 7.0.3 — отправка email через SMTP
- React Hot Toast 2.5.2 — стильные уведомления
- Яндекс.Трекер API — автоматическое создание задач
- JWT + Axios — авторизация и HTTP запросы
- Next SEO 6.6.1 — SEO оптимизация
- Next Sitemap 4.2.3 — автоматическая генерация sitemap
- ESLint 9.25.1 — линтинг с расширенными правилами
- Prettier 3.5.3 — форматирование кода
- Semantic Release 24.2.5 — автоматизация релизов
- ✅ Адаптивный дизайн — корректное отображение на всех устройствах
- ✅ Многоязычность — поддержка русского и английского языков
- ✅ Темная/светлая тема — переключение темы оформления
- ✅ Галерея скриншотов — интерактивные модальные окна
- ✅ Контактная форма — с отправкой красивых email уведомлений
- ✅ Toast-уведомления — современные уведомления о статусе операций
- ✅ SEO оптимизация — мета-теги, Open Graph, sitemap
- ✅ Быстрая загрузка — оптимизация изображений и кода
- 📧 Email система — отправка уведомлений через SMTP
- 📝 Яндекс.Трекер — автоматическое создание задач из контактной формы
- 🔍 Аналитика — готовность к подключению Google Analytics/Яндекс.Метрики
- Hero секция — главный экран с описанием продукта и CTA кнопками
- Features — возможности веб-интерфейса и desktop приложения
- Demo галереи — скриншоты интерфейсов с интерактивным просмотром
- Testimonials — отзывы клиентов и партнеров
- Pricing — информация о стоимости и тарифных планах
- Contact — форма обратной связи с автоматической обработкой
bottle-code-landing/
├── components/ # React компоненты
│ ├── contact-form.tsx # Контактная форма
│ ├── footer.tsx # Подвал сайта
│ ├── navbar.tsx # Навигационное меню
│ ├── screenshot-gallery.tsx # Галерея скриншотов
│ └── ...
├── config/ # Конфигурационные файлы
│ ├── fonts.ts # Настройки шрифтов
│ └── site.ts # Основная конфигурация сайта
├── emails/ # Email шаблоны
│ └── contact-email.tsx # Шаблон письма от контактной формы
├── layouts/ # Лейауты страниц
│ ├── default.tsx # Основной лейаут
│ └── head.tsx # Head компонент
├── lib/ # Утилиты и сервисы
│ └── yandex-tracker.ts # Интеграция с Яндекс.Трекер
├── pages/ # Next.js страницы
│ ├── api/ # API routes
│ ├── _app.tsx # Основное приложение
│ ├── index.tsx # Главная страница
│ └── ...
├── public/ # Статические файлы
│ ├── locales/ # Переводы
│ ├── screenshots/ # Скриншоты приложений
│ └── ...
├── styles/ # Стили
└── types/ # TypeScript типы
- Node.js 18.0 или выше
- npm или yarn
-
Клонирование репозитория
git clone <repository-url> cd bottle-code-landing
-
Установка зависимостей
npm install
-
Настройка переменных окружения
# Скопируйте файл с примером cp .env.example .env.local # Отредактируйте .env.local с вашими настройками
-
Запуск в режиме разработки
npm run dev
-
Открытие в браузере
http://localhost:3000
NEXT_PUBLIC_SITE_URL=https://bottlecode.app
NEXT_PUBLIC_APP_URL=https://app.bottlecode.app
NODE_ENV=productionCONTACT_EMAIL_TO=[email protected]
CONTACT_EMAIL_FROM=[email protected]
SMTP_HOST=smtp.yandex.ru
SMTP_PORT=465
SMTP_SECURE=true
SMTP_USER=[email protected]
SMTP_PASS=your_email_passwordTRACKER_PRIVATE_KEY=your_private_key
TRACKER_KEY_ID=your_key_id
TRACKER_SERVICE_ACCOUNT_ID=your_service_account_id
TRACKER_ORG_ID=your_organization_id
TRACKER_QUEUE_KEY=BOTTLECODE| Команда | Описание |
|---|---|
npm run dev |
Запуск в режиме разработки с Turbo |
npm run build |
Сборка для продакшена |
npm run start |
Запуск продакшен сборки |
npm run lint |
Проверка и исправление кода ESLint |
npm run semantic-release |
Автоматический релиз |
-
Development режим
docker-compose -f docker-compose.dev.yml up --build
-
Production режим
docker-compose up --build
# Сборка образа
docker build -t bottle-code-landing .
# Запуск контейнера
docker run -p 3000:3000 bottle-code-landingПроект настроен для автоматического развертывания через GitHub Actions:
- Staging: автоматически при push в
develop - Production: автоматически при push в
main
Требуемые secrets для CI/CD:
YC_OAUTH_TOKEN— Yandex Cloud OAuth токенYC_CLOUD_ID— ID облака Yandex CloudYCR_REGISTRY_ID— ID Container RegistryVM_ID— ID виртуальной машины- Все переменные окружения приложения
Подробнее в DEPLOYMENT.md
Проект поддерживает два языка:
- 🇷🇺 Русский (по умолчанию)
- 🇬🇧 Английский
Переводы находятся в public/locales/[locale]/common.json
- Создайте папку
public/locales/[locale]/ - Добавьте файл
common.jsonс переводами - Обновите
next-i18next.config.js
- Основные цвета и компоненты настраиваются через HeroUI
- Кастомные стили в
styles/globals.css - Конфигурация Tailwind в
tailwind.config.js
- Основная конфигурация сайта в
config/site.ts - Переводы в
public/locales/ - Изображения в
public/
- ✅ Мета-теги для социальных сетей
- ✅ Open Graph разметка
- ✅ Автоматическая генерация sitemap
- ✅ robots.txt
- ✅ Оптимизация изображений WebP/AVIF
- ✅ Сжатие контента
- ✅ Безопасные заголовки
- Оценка Lighthouse: 95+ баллов
- Оптимизация изображений
- Ленивая загрузка компонентов
- Минификация CSS/JS
- Использование TypeScript для всех компонентов
- ESLint + Prettier для качества кода
- Компонентный подход с переиспользованием
- Настроенный pre-commit с линтингом
// components/my-component.tsx
import { FC } from 'react';
interface MyComponentProps {
title: string;
}
export const MyComponent: FC<MyComponentProps> = ({ title }) => {
return <div>{title}</div>;
};- Форкните проект
- Создайте ветку для фичи (
git checkout -b feature/AmazingFeature) - Сделайте коммит (
git commit -m 'Add some AmazingFeature') - Запуште в ветку (
git push origin feature/AmazingFeature) - Откройте Pull Request
- Добавление интеграции с Google Analytics
- Реализация блога с MDX
- Добавление тестов (Jest + Testing Library)
- Интеграция с CRM системой
- Добавление чата поддержки
- Реализация A/B тестирования
Этот проект является частной разработкой. Все права защищены.
- Email: [email protected]
- Website: bottlecode.app
- App: app.bottlecode.app
Сделано с ❤️ командой BOTTLE [CODE]
