mirror of
https://github.com/myronblair/epic-download
synced 2026-06-30 17:51:00 -05:00
9.5 KiB
9.5 KiB
Epic Travel & Expeditions - cPanel Deployment Package
Package Information
Package Name: Epic Travel & Expeditions Version: 1.0.0 Date Created: December 2025 Package Type: cPanel MySQL Deployment
What's Included
1. Complete Application
- Frontend: Production-optimized React build (152.62 KB gzipped)
- Backend: Python FastAPI with MySQL support
- Database: MySQL schema with sample data
2. Documentation
INSTALLATION.md- Complete step-by-step installation guideMIGRATION_GUIDE.md- MongoDB to MySQL migration instructionsREADME.txt- Quick start guide
3. Configuration Files
.htaccess- Apache configuration for React routing and API proxy.env.example- Environment variables templatedatabase_schema.sql- MySQL database structure with sample data
4. Setup Tools
setup_admin.py- Admin password hash generatorcreate_package.sh- Package creation script
Package Files
epic-travel-cpanel-YYYYMMDD-HHMMSS/
├── README.txt # Quick start guide
├── INSTALLATION.md # Detailed installation instructions
├── MIGRATION_GUIDE.md # MongoDB to MySQL migration guide
├── database_schema.sql # MySQL database schema
├── setup_admin.py # Admin password setup tool
├── backend/ # Python FastAPI application
│ ├── server.py # Main application file
│ ├── auth.py # JWT authentication
│ ├── database.py # MySQL/SQLAlchemy configuration
│ ├── requirements.txt # Python dependencies
│ ├── .env.example # Environment template
│ ├── models/ # Data models
│ │ ├── __init__.py
│ │ └── schemas.py
│ └── routes/ # API endpoints
│ ├── __init__.py
│ ├── auth_routes.py # Authentication endpoints
│ ├── destination_routes.py # Destinations CRUD
│ ├── special_routes.py # Weekly specials management
│ └── other_routes.py # Contact, newsletter, uploads
└── frontend/ # React production build
├── index.html # Main HTML file
├── .htaccess # Apache configuration
├── static/ # Compiled JS/CSS
│ ├── css/
│ └── js/
├── manifest.json
└── robots.txt
Quick Start
Prerequisites
- cPanel hosting account
- Python 3.8+ support
- MySQL 5.7+ or MariaDB 10.3+
- SSL certificate (recommended)
Installation Steps
-
Download Package
- Choose either
.tar.gzor.zipformat - Extract to your local computer
- Choose either
-
Create MySQL Database
- Log into cPanel
- Create new MySQL database
- Create database user with strong password
- Grant all privileges
-
Import Database
- Open phpMyAdmin
- Select your database
- Import
database_schema.sql
-
Upload Files
- Upload
backend/folder to your hosting account - Upload
frontend/contents topublic_html(or subdomain folder)
- Upload
-
Configure Backend
- Copy
.env.exampleto.env - Edit with your MySQL credentials
- Generate JWT secret key
- Copy
-
Setup Python App
- In cPanel, go to "Setup Python App"
- Configure application root and entry point
- Install dependencies from requirements.txt
-
Test Installation
- Visit your website
- Test API endpoint:
https://yourdomain.com/api - Login to admin:
https://yourdomain.com/admin
Features
Public Website
- ✅ Beautiful travel destinations gallery
- ✅ Weekly special deals showcase
- ✅ Search and filter destinations
- ✅ Customer testimonials
- ✅ Contact form
- ✅ Newsletter subscription
- ✅ Responsive design
- ✅ Professional branding
Admin Dashboard
- ✅ Secure JWT authentication
- ✅ Destination management (Add/Edit/Delete)
- ✅ Upload destination images
- ✅ Weekly specials management
- ✅ Set discount percentages and end dates
- ✅ Real-time updates to public site
Technical Features
- ✅ FastAPI backend (Python)
- ✅ React frontend (production-optimized)
- ✅ MySQL database with relationships
- ✅ RESTful API architecture
- ✅ JWT token authentication
- ✅ Bcrypt password hashing
- ✅ CORS configured
- ✅ SSL ready
- ✅ SEO friendly
- ✅ Browser caching enabled
- ✅ Gzip compression
System Requirements
Server Requirements
- Operating System: Linux (recommended)
- Web Server: Apache 2.4+ with mod_rewrite
- Python: 3.8 or higher
- Database: MySQL 5.7+ or MariaDB 10.3+
- PHP: 7.4+ (for phpMyAdmin, optional)
- Disk Space: 500MB minimum
- RAM: 512MB minimum (1GB recommended)
cPanel Features Needed
- Python App Setup
- MySQL Databases
- File Manager or FTP access
- SSL/TLS Management
- Cron Jobs (optional, for automated tasks)
Default Credentials
Admin Portal
- URL:
https://yourdomain.com/admin - Email:
admin@epictravel.com - Password:
Joker1974!!!
⚠️ IMPORTANT: Change the admin password after first login!
Database Information
Tables Created
destinations- Travel destinations with detailsspecials- Weekly special offersadmin_users- Admin account credentialscontacts- Contact form submissionsnewsletter_subscribers- Newsletter email list
Sample Data Included
- 12 Travel destinations (Paris, Bali, Tokyo, etc.)
- 3 Weekly special offers
- 1 Admin user account
API Endpoints
Public Endpoints
GET /api- Health checkGET /api/destinations- List all destinationsGET /api/destinations/{id}- Get single destinationGET /api/specials- List weekly specialsPOST /api/contact- Submit contact formPOST /api/newsletter/subscribe- Subscribe to newsletter
Admin Endpoints (Requires Authentication)
POST /api/auth/login- Admin loginPOST /api/destinations- Create destinationPUT /api/destinations/{id}- Update destinationDELETE /api/destinations/{id}- Delete destinationPOST /api/specials- Add to specialsPUT /api/specials/{id}- Update specialDELETE /api/specials/destination/{id}- Remove from specialsPOST /api/upload/image- Upload image
Configuration Options
Environment Variables
# Database
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_DATABASE=your_database
MYSQL_USER=your_user
MYSQL_PASSWORD=your_password
# Security
JWT_SECRET_KEY=your_secret_key
ADMIN_DEFAULT_PASSWORD=Joker1974!!!
# CORS
CORS_ORIGINS=https://yourdomain.com
Frontend Configuration
- Edit
index.htmlfor meta tags - Update
manifest.jsonfor PWA settings - Modify
.htaccessfor custom redirects
Performance Optimization
Included Optimizations
- ✅ Gzip compression enabled
- ✅ Browser caching configured
- ✅ Static asset optimization
- ✅ Database query optimization
- ✅ Connection pooling
- ✅ Production React build
Additional Recommendations
- Enable CDN for static assets
- Use Redis for session caching
- Configure MySQL query cache
- Enable OPcache for PHP
- Use HTTP/2 if available
Security Features
Built-in Security
- ✅ JWT token authentication
- ✅ Bcrypt password hashing
- ✅ SQL injection prevention (SQLAlchemy ORM)
- ✅ XSS protection headers
- ✅ CORS configuration
- ✅ HTTPS enforcement
- ✅ Environment variables for secrets
- ✅ .env file protection
Security Recommendations
- Change default admin password
- Use strong JWT secret key
- Enable SSL certificate
- Regular security updates
- Strong MySQL password
- Restrict file permissions
- Regular database backups
Troubleshooting
Common Issues
Backend not starting
- Check Python version compatibility
- Verify MySQL credentials
- Review error logs in cPanel
- Ensure dependencies installed
Frontend shows blank page
- Check browser console for errors
- Verify .htaccess file exists
- Check API URL configuration
- Clear browser cache
Database connection fails
- Verify MySQL credentials
- Check user privileges
- Ensure database exists
- Test connection independently
CORS errors
- Update CORS_ORIGINS in .env
- Restart Python application
- Check SSL configuration
- Verify protocol matching (HTTPS)
Support & Documentation
Included Documentation
INSTALLATION.md- Step-by-step setup guideMIGRATION_GUIDE.md- MongoDB to MySQL migrationREADME.txt- Quick reference
Contact Information
- Email: advisor@epictravelexpeditions.com
- Phone: +1 (817) 266-2022
- Location: Weatherford, Texas 76088
Technical Support
- Check cPanel error logs
- Review application logs
- Test database connection
- Verify Python dependencies
- Check Apache configuration
Upgrade Path
Future Updates
- Download new version package
- Backup current database and files
- Upload new files (don't overwrite .env)
- Run database migrations if any
- Restart Python application
- Test functionality
License & Credits
Application: Epic Travel & Expeditions Version: 1.0.0 Built with:
- React 19
- FastAPI 0.110
- SQLAlchemy 2.0
- Python 3.11
- MySQL 5.7+
Created: December 2025 Package Type: cPanel MySQL Deployment
Package Download Information
Formats Available:
epic-travel-cpanel-YYYYMMDD-HHMMSS.tar.gz(784 KB)epic-travel-cpanel-YYYYMMDD-HHMMSS.zip(792 KB)
Checksum: Available upon request Expiry: None - Package is perpetual
For the latest version or updates, contact support.
Ready to deploy? Start with INSTALLATION.md!