✨ Features: - Modern tourism website with responsive design - AdminJS admin panel with image editor integration - PostgreSQL database with comprehensive schema - Docker containerization - Image upload and gallery management 🛠 Tech Stack: - Backend: Node.js + Express.js - Database: PostgreSQL 13+ - Frontend: HTML/CSS/JS with responsive design - Admin: AdminJS with custom components - Deployment: Docker + Docker Compose - Image Processing: Sharp with optimization 📱 Admin Features: - Routes/Tours management (city, mountain, fishing) - Guides profiles with specializations - Articles and blog system - Image editor with upload/gallery/URL options - User management and authentication - Responsive admin interface 🎨 Design: - Korean tourism focused branding - Mobile-first responsive design - Custom CSS with modern aesthetics - Image optimization and gallery - SEO-friendly structure 🔒 Security: - Helmet.js security headers - bcrypt password hashing - Input validation and sanitization - CORS protection - Environment variables
57 lines
1.4 KiB
JSON
57 lines
1.4 KiB
JSON
{
|
||
"name": "korea-tourism-agency",
|
||
"version": "1.0.0",
|
||
"type": "module",
|
||
"description": "Туристическое агентство для внутренних поездок по Корее",
|
||
"main": "src/app.js",
|
||
"scripts": {
|
||
"start": "node src/app.js",
|
||
"dev": "nodemon src/app.js",
|
||
"db:migrate": "node database/migrate.js",
|
||
"db:seed": "node database/seed.js"
|
||
},
|
||
"keywords": [
|
||
"korea",
|
||
"tourism",
|
||
"travel",
|
||
"agency"
|
||
],
|
||
"author": "Korea Tourism Agency",
|
||
"license": "MIT",
|
||
"dependencies": {
|
||
"@adminjs/express": "^6.1.0",
|
||
"@adminjs/sequelize": "^4.1.1",
|
||
"@adminjs/upload": "^4.0.2",
|
||
"@babel/core": "^7.28.5",
|
||
"@babel/preset-react": "^7.28.5",
|
||
"adminjs": "^7.5.0",
|
||
"bcryptjs": "^2.4.3",
|
||
"bootstrap": "^5.3.2",
|
||
"compression": "^1.7.4",
|
||
"cors": "^2.8.5",
|
||
"dotenv": "^16.3.1",
|
||
"ejs": "^3.1.9",
|
||
"express": "^4.18.2",
|
||
"express-ejs-layouts": "^2.5.1",
|
||
"express-fileupload": "^1.4.3",
|
||
"express-rate-limit": "^7.1.5",
|
||
"express-session": "^1.17.3",
|
||
"helmet": "^7.1.0",
|
||
"jquery": "^3.7.1",
|
||
"method-override": "^3.0.0",
|
||
"moment": "^2.29.4",
|
||
"morgan": "^1.10.0",
|
||
"multer": "^1.4.5-lts.1",
|
||
"pg": "^8.11.3",
|
||
"pg-hstore": "^2.3.4",
|
||
"react": "^19.2.0",
|
||
"react-dom": "^19.2.0",
|
||
"sequelize": "^6.37.7",
|
||
"sequelize-cli": "^6.6.3",
|
||
"sharp": "^0.33.5"
|
||
},
|
||
"devDependencies": {
|
||
"nodemon": "^3.0.2"
|
||
}
|
||
}
|