- 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
131 lines
4.0 KiB
Bash
Executable File
131 lines
4.0 KiB
Bash
Executable File
#!/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"
|