# WorkParking Маркетинговый сайт WorkParking на `Next.js 16` для презентации решений по апгрейду дворовых шлагбаумов, въезду по номеру автомобиля и сервисной модели подключения. Сайт сейчас работает как чистый фронт без собственной CRM, базы данных и админки. Дальше сюда можно отдельно подключить внешнюю CRM, например `EspoCRM`. ## Что внутри - современный фронтенд на `Next.js 16`, `React 19`, `TypeScript` - стили на `Tailwind CSS 4` - адаптивная вёрстка для десктопа и мобильных устройств - Docker-сборка для запуска сайта в контейнере - автодеплой через `Gitea Actions` ## Структура проекта ```text app/ page.tsx главная страница contacts/ страница контактов pricing/ страница тарифов services/ страница услуг cases/ страница кейсов about/ страница о компании for-uk/ страница для УК components/ mobile-menu.tsx мобильное меню barrier-icon.tsx иконка шлагбаума .gitea/workflows/ deploy.yml автодеплой ``` ## Локальный запуск Переменные окружения для отправки лидов в EspoCRM: ```env ESPOCRM_API_URL=https://crm.parkflow.ru/api/v1/Lead ESPOCRM_API_KEY=your_api_key_here ESPOCRM_LEAD_SOURCE=Web Site ``` Их можно положить в локальный `.env` или задать на сервере. Пример есть в [`.env.example`](.env.example). Установить зависимости: ```bash npm install ``` Запустить dev-сервер: ```bash npm run dev ``` Сайт будет доступен по адресу: ```text http://localhost:3000 ``` ## Полезные команды ```bash npm run dev npm run build npm run start npm run lint ``` ## Docker Локальный запуск через Docker Compose: ```bash docker compose up -d --build ``` Сайт поднимается в контейнере `workparking` и пробрасывается на: ```text http://127.0.0.1:3011 ``` Остановить контейнер: ```bash docker compose down ``` ## Автодеплой В репозитории настроен автодеплой через Gitea: - workflow: [`.gitea/workflows/deploy.yml`](.gitea/workflows/deploy.yml) - триггер: push в ветку `main` - на сервере выполняется: - `git pull origin main` - `docker compose up -d --build` - `docker image prune -f` ## Текущее состояние Сейчас в проекте уже удалены: - Prisma - PostgreSQL - админка - локальная авторизация При этом форма заявок снова доступна, но она работает не через локальную базу, а через внешний CRM API. ## Дальнейшие шаги Когда будете подключать внешнюю CRM, можно сделать один из вариантов: 1. использовать текущую серверную отправку лидов в `EspoCRM` 2. встроить форму из `EspoCRM` на страницу контактов 3. вести кнопки и CTA на внешний CRM-URL ## Репозиторий Этот README подготовлен под личный репозиторий в Gitea и описывает текущий упрощённый контур проекта без внутренней CRM-части.