mirror of
https://github.com/myronblair/epic-download
synced 2026-06-30 17:51:00 -05:00
352 lines
9.5 KiB
Markdown
352 lines
9.5 KiB
Markdown
# 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 guide
|
|
- `MIGRATION_GUIDE.md` - MongoDB to MySQL migration instructions
|
|
- `README.txt` - Quick start guide
|
|
|
|
### 3. Configuration Files
|
|
- `.htaccess` - Apache configuration for React routing and API proxy
|
|
- `.env.example` - Environment variables template
|
|
- `database_schema.sql` - MySQL database structure with sample data
|
|
|
|
### 4. Setup Tools
|
|
- `setup_admin.py` - Admin password hash generator
|
|
- `create_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
|
|
|
|
1. **Download Package**
|
|
- Choose either `.tar.gz` or `.zip` format
|
|
- Extract to your local computer
|
|
|
|
2. **Create MySQL Database**
|
|
- Log into cPanel
|
|
- Create new MySQL database
|
|
- Create database user with strong password
|
|
- Grant all privileges
|
|
|
|
3. **Import Database**
|
|
- Open phpMyAdmin
|
|
- Select your database
|
|
- Import `database_schema.sql`
|
|
|
|
4. **Upload Files**
|
|
- Upload `backend/` folder to your hosting account
|
|
- Upload `frontend/` contents to `public_html` (or subdomain folder)
|
|
|
|
5. **Configure Backend**
|
|
- Copy `.env.example` to `.env`
|
|
- Edit with your MySQL credentials
|
|
- Generate JWT secret key
|
|
|
|
6. **Setup Python App**
|
|
- In cPanel, go to "Setup Python App"
|
|
- Configure application root and entry point
|
|
- Install dependencies from requirements.txt
|
|
|
|
7. **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 details
|
|
- `specials` - Weekly special offers
|
|
- `admin_users` - Admin account credentials
|
|
- `contacts` - Contact form submissions
|
|
- `newsletter_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 check
|
|
- `GET /api/destinations` - List all destinations
|
|
- `GET /api/destinations/{id}` - Get single destination
|
|
- `GET /api/specials` - List weekly specials
|
|
- `POST /api/contact` - Submit contact form
|
|
- `POST /api/newsletter/subscribe` - Subscribe to newsletter
|
|
|
|
### Admin Endpoints (Requires Authentication)
|
|
- `POST /api/auth/login` - Admin login
|
|
- `POST /api/destinations` - Create destination
|
|
- `PUT /api/destinations/{id}` - Update destination
|
|
- `DELETE /api/destinations/{id}` - Delete destination
|
|
- `POST /api/specials` - Add to specials
|
|
- `PUT /api/specials/{id}` - Update special
|
|
- `DELETE /api/specials/destination/{id}` - Remove from specials
|
|
- `POST /api/upload/image` - Upload image
|
|
|
|
## Configuration Options
|
|
|
|
### Environment Variables
|
|
```env
|
|
# 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.html` for meta tags
|
|
- Update `manifest.json` for PWA settings
|
|
- Modify `.htaccess` for 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 guide
|
|
- `MIGRATION_GUIDE.md` - MongoDB to MySQL migration
|
|
- `README.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
|
|
1. Download new version package
|
|
2. Backup current database and files
|
|
3. Upload new files (don't overwrite .env)
|
|
4. Run database migrations if any
|
|
5. Restart Python application
|
|
6. 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!**
|