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
This commit is contained in:
2025-11-29 18:13:17 +09:00
commit 409e6c146b
53 changed files with 16195 additions and 0 deletions

130
start-dev.sh Executable file
View File

@@ -0,0 +1,130 @@
#!/bin/bash
# Korea Tourism Agency - Development Setup Script
# Скрипт для быстрого запуска среды разработки
echo "🇰🇷 Korea Tourism Agency - Development Setup"
echo "============================================="
echo ""
# Проверка Docker
if ! command -v docker &> /dev/null; then
echo "❌ Docker не установлен. Установите Docker и попробуйте снова."
exit 1
fi
if ! command -v docker-compose &> /dev/null; then
echo "❌ Docker Compose не установлен. Установите Docker Compose и попробуйте снова."
exit 1
fi
if ! docker info > /dev/null 2>&1; then
echo "❌ Docker не запущен. Запустите Docker сначала."
exit 1
fi
echo "✅ Docker найден и запущен"
# Создание .env файла если его нет
if [ ! -f .env ]; then
echo "📝 Создание файла .env..."
cat > .env << 'EOL'
# Database Configuration
DB_HOST=postgres
DB_PORT=5432
DB_NAME=korea_tourism
DB_USER=tourism_user
DB_PASSWORD=tourism_password
# Application Configuration
PORT=3000
NODE_ENV=development
SESSION_SECRET=korea-tourism-secret-key-2024
# File Upload Configuration
UPLOAD_PATH=/app/public/uploads
MAX_FILE_SIZE=5242880
# Site Information
SITE_NAME=Korea Tourism Agency
CONTACT_EMAIL=info@koreatourism.com
CONTACT_PHONE=+82-2-1234-5678
# Admin Configuration
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin123
EOL
echo "✅ Файл .env создан"
else
echo "✅ Файл .env уже существует"
fi
# Создание необходимых директорий
echo "📁 Создание директорий..."
mkdir -p public/uploads/routes
mkdir -p public/uploads/guides
mkdir -p public/uploads/articles
mkdir -p database/backups
# Остановка существующих контейнеров
echo ""
echo "🛑 Остановка существующих контейнеров..."
docker-compose down
# Сборка и запуск контейнеров
echo ""
echo "🏗️ Сборка и запуск контейнеров..."
docker-compose build
docker-compose up -d
# Ожидание запуска базы данных
echo ""
echo "⏳ Ожидание запуска базы данных..."
sleep 15
# Проверка статуса контейнеров
echo ""
echo "📊 Статус контейнеров:"
docker-compose ps
# Выполнение миграций
echo ""
echo "🔄 Выполнение миграций базы данных..."
docker-compose exec app node database/migrate.js
# Заполнение тестовыми данными
echo ""
echo "📦 Заполнение тестовыми данными..."
docker-compose exec app node database/seed.js
# Проверка логов
echo ""
echo "📝 Последние логи приложения:"
docker-compose logs --tail=5 app
echo ""
echo "🎉 Установка завершена!"
echo "=================================="
echo ""
echo "🌐 Сайт доступен по адресу:"
echo " 🏠 Главная страница: http://localhost:3000"
echo " ⚙️ Админ панель: http://localhost:3000/admin"
echo " 🗄️ Adminer (БД): http://localhost:8080"
echo ""
echo "🔐 Данные для входа в админку:"
echo " Username: admin"
echo " Password: admin123"
echo ""
echo "🗄️ Данные для подключения к БД (Adminer):"
echo " System: PostgreSQL"
echo " Server: postgres"
echo " Username: tourism_user"
echo " Password: tourism_password"
echo " Database: korea_tourism"
echo ""
echo "📝 Полезные команды:"
echo " docker-compose logs -f app # Просмотр логов"
echo " docker-compose restart app # Перезапуск приложения"
echo " docker-compose down # Остановка контейнеров"
echo ""
echo "🎯 Готово к разработке! Откройте http://localhost:3000"