# 📁 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** - Профессиональное решение для туристического бизнеса! 🇰🇷✨