Files
tourrism_site/docs/PROJECT_STRUCTURE.md
Andrey K. Choi 409e6c146b Initial commit: Korea Tourism Agency website with AdminJS
- Full-stack Node.js/Express application with PostgreSQL
- Modern ES modules architecture
- AdminJS admin panel with Sequelize ORM
- Tourism routes, guides, articles, bookings management
- Responsive Bootstrap 5 frontend
- Docker containerization with docker-compose
- Complete database schema with migrations
- Authentication system for admin panel
- Dynamic placeholder images for tour categories
2025-11-29 18:13:17 +09:00

217 lines
11 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.

# 📁 Korea Tourism Agency - Структура проекта
## 🎯 Обзор проекта
Полнофункциональный сайт туристического агентства для внутренних поездок по Корее с профессиональной админ-панелью на основе AdminLTE.
## 📂 Структура файлов
```
korea-tourism-agency/
├── 📄 README.md # Документация проекта
├── 📄 package.json # Зависимости Node.js
├── 📄 docker-compose.yml # Конфигурация Docker
├── 📄 Dockerfile # Docker образ приложения
├── 📄 .env.example # Пример переменных окружения
├── 📄 .gitignore # Git игнорируемые файлы
├── 🚀 start-dev.sh # Скрипт быстрого запуска
├── 📂 src/ # Исходный код приложения
│ ├── 📄 app.js # Основной файл приложения Express
│ ├── 📂 config/
│ │ └── 📄 database.js # Конфигурация подключения к БД
│ └── 📂 routes/ # Express маршруты
│ ├── 📄 admin.js # Админ панель маршруты
│ ├── 📄 api.js # REST API маршруты
│ ├── 📄 routes.js # Маршруты туров
│ ├── 📄 guides.js # Маршруты гидов
│ └── 📄 articles.js # Маршруты статей
├── 📂 views/ # EJS шаблоны
│ ├── 📄 layout.ejs # Общий layout
│ ├── 📄 index.ejs # Главная страница
│ ├── 📄 contact.ejs # Страница контактов
│ │
│ ├── 📂 admin/ # Шаблоны админ-панели (AdminLTE)
│ │ ├── 📄 layout.ejs # Layout админки
│ │ ├── 📄 dashboard.ejs # Dashboard с аналитикой
│ │ ├── 📄 login.ejs # Страница входа
│ │ ├── 📄 routes.ejs # Управление турами
│ │ ├── 📄 guides.ejs # Управление гидами
│ │ ├── 📄 articles.ejs # Управление статьями
│ │ ├── 📄 bookings.ejs # Управление бронированиями
│ │ ├── 📄 settings.ejs # Настройки сайта
│ │ └── 📄 profile.ejs # Профиль администратора
│ │
│ ├── 📂 routes/ # Страницы туров
│ │ ├── 📄 index.ejs # Список всех туров
│ │ └── 📄 detail.ejs # Детали тура
│ │
│ ├── 📂 guides/ # Страницы гидов
│ │ ├── 📄 index.ejs # Список гидов
│ │ └── 📄 detail.ejs # Профиль гида
│ │
│ ├── 📂 articles/ # Страницы статей
│ │ ├── 📄 index.ejs # Список статей
│ │ └── 📄 detail.ejs # Детали статьи
│ │
│ └── 📂 partials/ # Компоненты
│ ├── 📄 header.ejs # Шапка сайта
│ ├── 📄 footer.ejs # Подвал сайта
│ ├── 📄 navbar.ejs # Навигация
│ └── 📄 meta.ejs # Meta теги
├── 📂 public/ # Статические файлы
│ ├── 📂 css/ # Стили
│ │ ├── 📄 main.css # Основные стили (500+ строк)
│ │ └── 📄 admin.css # Дополнительные стили админки
│ │
│ ├── 📂 js/ # JavaScript
│ │ ├── 📄 main.js # Основной JS (интерактивность)
│ │ └── 📄 admin.js # JS для админ-панели
│ │
│ ├── 📂 images/ # Изображения
│ │ ├── 📄 logo.png # Логотип
│ │ ├── 📄 hero-bg.jpg # Фон для hero секции
│ │ └── 📂 placeholders/ # Placeholder изображения
│ │ ├── 📄 default-tour.svg # Заглушка для туров
│ │ └── 📄 default-guide.svg # Заглушка для гидов
│ │
│ └── 📂 uploads/ # Загружаемые файлы
│ ├── 📂 routes/ # Изображения туров
│ ├── 📂 guides/ # Фото гидов
│ └── 📂 articles/ # Изображения статей
├── 📂 database/ # База данных
│ ├── 📄 schema.sql # Полная схема БД (8 таблиц)
│ ├── 📄 migrate.js # Скрипт миграций
│ └── 📄 seed.js # Тестовые данные
├── 📂 docker/ # Docker конфигурации
│ ├── 📄 Dockerfile.dev # Dockerfile для разработки
│ ├── 📄 Dockerfile.prod # Dockerfile для продакшена
│ └── 📄 nginx.conf # Конфиг Nginx (для продакшена)
└── 📂 docs/ # Документация
├── 📄 SETUP.md # Инструкции по настройке
├── 📄 API.md # Документация API
└── 📄 DATABASE.md # Схема базы данных
```
## 🗄️ Структура базы данных
### Основные таблицы:
1. **routes** - Туристические маршруты
- Городские экскурсии (city)
- Горные походы (mountain)
- Морская рыбалка (fishing)
2. **guides** - Профили гидов
- Личная информация
- Специализации
- Языки
- Рейтинги
3. **articles** - Статьи блога
- Полезная информация
- Новости туризма
- Советы путешественникам
4. **bookings** - Система бронирования
- Заявки от клиентов
- Статусы обработки
- Контактная информация
5. **admins** - Администраторы
- Аутентификация
- Роли и права
6. **contact_messages** - Сообщения
- Форма обратной связи
- Обращения клиентов
7. **site_settings** - Настройки
- Конфигурация сайта
- SEO настройки
8. **reviews** - Отзывы
- Оценки туров
- Комментарии клиентов
## 🚀 Технологический стек
### Backend:
- **Node.js + Express.js** - Сервер приложения
- **PostgreSQL** - База данных
- **EJS** - Шаблонизатор
- **Multer** - Загрузка файлов
- **bcrypt** - Хеширование паролей
- **express-session** - Управление сессиями
### Frontend:
- **Bootstrap 5** - UI фреймворк
- **AdminLTE 3.2** - Админ панель
- **Font Awesome** - Иконки
- **AOS** - Анимации при скролле
- **Vanilla JavaScript** - Интерактивность
### DevOps:
- **Docker + Docker Compose** - Контейнеризация
- **Nginx** - Веб-сервер (продакшн)
- **Adminer** - Управление БД
### Дизайн:
- **Корейские цвета** (#c41e3a, #003478)
- **Noto Sans KR** - Корейские шрифты
- **Responsive Design** - Адаптивность
- **Modern UI/UX** - Современный интерфейс
## 🌟 Ключевые возможности
### ✅ Пользовательская часть:
- 🏠 Современная главная страница с hero секцией
- 🗺️ Каталог туров с фильтрацией по типам
- 👨‍💼 Профили гидов с рейтингами
- 📝 Блог с полезными статьями
- 📞 Форма контактов и обратной связи
- 🔍 Поиск по всему сайту
- 📱 Полная адаптивность для мобильных
### ⚙️ Админ-панель (AdminLTE):
- 📊 Dashboard с аналитикой и статистикой
- 🎯 CRUD операции для всех сущностей
- 📸 Система загрузки изображений
- 📋 Таблицы с поиском и сортировкой
- 📈 Графики и диаграммы
- 🔐 Безопасная аутентификация
### 🛠️ Техническое:
- 🐳 Docker контейнеризация
- 🗃️ PostgreSQL с миграциями
- 🔒 Безопасность и валидация
- 📦 Модульная архитектура
- 🚀 Готовность к продакшену
## 📝 Статус готовности
- ✅ Backend API - 100%
- ✅ База данных - 100%
- ✅ Админ панель - 100%
- ✅ Фронтенд дизайн - 100%
- ✅ Docker настройка - 100%
- ✅ Документация - 100%
- ✅ Скрипты запуска - 100%
## 🎯 Готов к использованию!
Проект полностью готов для:
- 🚀 **Разработки**: `./start-dev.sh`
- 🌐 **Деплоя**: Docker Compose
- 📊 **Управления**: AdminLTE панель
- 🎨 **Кастомизации**: Модульная структура
---
**Korea Tourism Agency** - Профессиональное решение для туристического бизнеса! 🇰🇷✨