119 lines
3.5 KiB
Markdown
119 lines
3.5 KiB
Markdown
# 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 автодеплой
|
||
```
|
||
|
||
## Локальный запуск
|
||
|
||
Установить зависимости:
|
||
|
||
```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
|
||
- локальная форма заявок с записью в БД
|
||
- API-роуты для лидов
|
||
- админка
|
||
- локальная авторизация
|
||
|
||
То есть репозиторий теперь хранит только сайт.
|
||
|
||
## Дальнейшие шаги
|
||
|
||
Когда будете подключать внешнюю CRM, можно сделать один из вариантов:
|
||
|
||
1. встроить форму из `EspoCRM` на страницу контактов
|
||
2. вести кнопки и CTA на внешний CRM-URL
|
||
3. подключить webhook/API внешней CRM без своей локальной базы
|
||
|
||
## Репозиторий
|
||
|
||
Этот README подготовлен под личный репозиторий в Gitea и описывает текущий упрощённый контур проекта без внутренней CRM-части.
|