# 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 ``` ## 📄 Лицензия MIT License - UniqueSoft