mirror of
https://github.com/myronblair/epic-download
synced 2026-07-28 13:02:41 -05:00
auto-commit for 01035626-fc86-4553-b85b-3396ef438dce
This commit is contained in:
@@ -0,0 +1,351 @@
|
||||
# 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!**
|
||||
Reference in New Issue
Block a user