Files
TenerifeProp/README.md
APAW Agent Sync 3bcc705e3b docs: add deployment guides, audit reports, and production sync scripts
- BRAINYCP_DEPLOY_GUIDE.md: complete human deployment guide
- AI_DEPLOY_CONTEXT.md: machine-readable deploy instructions for AI agents
- sync-production.sh: universal deployment script (full/quick/status/logs/backup)
- DEPLOY_PLAN.md: step-by-step deployment plan
- DEPLOY_AUDIT_REPORT.md: server audit results
- MIGRATION_AUDIT_REPORT.md: MySQL migration complexity analysis
- SERVER_AUDIT_REPORT.md: server environment audit
- Update README.md with BrainyCP deploy workflow and Git sync instructions

Refs: production server 46.175.149.131, domain tenerifeprop.es
2026-05-13 23:44:38 +01:00

189 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TenerifeProp
Агентство недвижимости на острове Тенерифе (Канарские острова, Испания).
## 🚀 Быстрый старт с Docker
```bash
# Сборка и запуск
docker-compose up -d --build
# Приложение будет доступно на http://localhost:8080
```
## 📦 Локальная разработка
### Требования
- [Bun](https://bun.sh/) >= 1.0.0
- Node.js >= 18 (опционально)
### Установка
```bash
# Установка зависимостей
bun install
# Инициализация базы данных
bun run db:init
# Заполнение тестовыми данными
bun run db:seed
# Запуск сервера разработки
bun run dev
```
### Доступные скрипты
```bash
bun run dev # Запуск в режиме разработки
bun run start # Запуск в production режиме
bun run db:init # Инициализация БД
bun run db:seed # Заполнение тестовыми данными
bun run build # Сборка проекта
bun run test # Запуск тестов
```
## 📁 Структура проекта
```
TenerifeProp/
├── public/ # Статические файлы
│ ├── index.html # Главная страница
│ ├── property.html # Страница объекта
│ ├── admin.html # Админ-панель
│ ├── css/ # Стили
│ └── js/ # JavaScript
├── src/
│ ├── server/ # Backend (Bun + Hono)
│ ├── db/ # Схема БД
│ ├── types/ # TypeScript типы
│ ├── data/ # JSON данные
│ └── i18n/ # Переводы
├── docs/ # Документация
├── Dockerfile # Docker образ
├── docker-compose.yml # Docker Compose
├── package.json # Зависимости
└── tsconfig.json # TypeScript конфиг
```
## 🔧 API Endpoints
### Недвижимость
| Метод | Endpoint | Описание |
|-------|----------|----------|
| `GET` | `/api/properties` | Список объектов |
| `GET` | `/api/properties/:slug` | Детали объекта |
| `GET` | `/api/properties/featured` | Рекомендуемые |
| `POST` | `/api/properties` | Создать (admin) |
| `PUT` | `/api/properties/:id` | Обновить (admin) |
| `DELETE` | `/api/properties/:id` | Удалить (admin) |
### Заявки
| Метод | Endpoint | Описание |
|-------|----------|----------|
| `GET` | `/api/leads` | Список заявок |
| `POST` | `/api/leads` | Создать заявку |
| `PUT` | `/api/leads/:id/status` | Изменить статус |
### Контент
| Метод | Endpoint | Описание |
|-------|----------|----------|
| `GET` | `/api/testimonials` | Отзывы |
| `GET` | `/api/faq` | FAQ |
| `GET` | `/api/services` | Услуги |
| `GET` | `/api/settings` | Настройки |
## 🗄️ База данных
SQLite база данных автоматически создается в `./data/tenerifeprop.db`.
### Основные таблицы
- `properties` - Объекты недвижимости
- `leads` - Заявки клиентов
- `users` - Пользователи системы
- `testimonials` - Отзывы
- `faq` - Вопросы-ответы
- `services` - Услуги
- `settings` - Настройки сайта
## 🌍 Мультиязычность
Поддерживаемые языки:
- 🇪🇸 Испанский (ES) - основной
- 🇷🇺 Русский (RU)
Переключение языка через `?lang=ru` или кнопку в интерфейсе.
## 👤 Учётные данные по умолчанию
```
Email: admin@tenerifeprop.com
Password: admin123
```
## 🌐 Деплой на BrainyCP (Production)
### Инфраструктура
- **Сервер:** Ubuntu 22.04, BrainyCP (пользователь `nero`)
- **Домен:** `https://tenerifeprop.es`
- **Runtime:** Bun v1.3.14
- **Порт:** 3003 (reverse proxy через Nginx)
- **SSL:** Let's Encrypt (управляется BrainyCP)
### Синхронизация (Git workflow)
Проект использует три ветки:
- `dev` — разработка
- `main` — стабильный релиз
- `production` — ветка продакшена на BrainyCP
```bash
# 1. Разработка
bun run dev # Локально
git checkout dev
git commit -m "feat: ..."
git push origin dev
# 2. Релиз → main
git checkout main
git merge dev
git push origin main
# 3. Деплой → production
git push origin main:production # Или PR через Gitea
# 4. Обновление на сервере
ssh root@46.175.149.131
cd /home/nero/sites/tenerifeprop.es
./scripts/sync-production.sh full
```
### Скрипты на сервере
- `./scripts/sync-production.sh full` — полный деплой (git pull + install + restart)
- `./scripts/sync-production.sh quick` — быстрый рестарт
- `./scripts/sync-production.sh status` — статус сервера
- `./scripts/sync-production.sh backup` — бэкап БД
- `./scripts/sync-production.sh logs` — логи в реальном времени
### Права доступа (BrainyCP standard)
```
/home/nero root:root 755
/home/nero/sites root:root 755
/home/nero/sites/tenerifeprop.es nero:nero 755
```
### Документация для DevOps
- `docs/BRAINYCP_DEPLOY_GUIDE.md` — полное руководство по деплою
- `docs/AI_DEPLOY_CONTEXT.md` — контекст для ИИ-агентов
- `DEPLOY_AUDIT_REPORT.md` — аудит перед деплоем
- `MIGRATION_AUDIT_REPORT.md` — анализ миграции на MySQL/Node.js
## 📄 Лицензия
MIT License - UniqueSoft