- Create SQLite database schema with all tables - Implement REST API endpoints for properties, leads, testimonials, FAQ, services - Add seed data with sample properties, testimonials, FAQ - Create Docker configuration for deployment - Add i18n system for translations - Add API client for frontend integration - Create Technical Documentation (TZ.md) - Add detailed README with deployment instructions 🚀 Project is now fully functional: - API: http://localhost:8080/api/* - Properties CRUD with filtering - Lead management - Settings, Testimonials, FAQ, Services APIs - SQLite database with seed data
132 lines
4.1 KiB
Markdown
132 lines
4.1 KiB
Markdown
# 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 |