Tourstack
A dynamic and fully functional website built using pure PHP, HTML, CSS, and MySQL, crafted with passion and deployed on InfinityFree hosting. This project showcases real-world web development skills, including form handling, database integration, and responsive UI — all without relying on heavy frameworks.
Install / Use
/learn @Rupeshs11/TourstackREADME
🏨 TourStacks - Hotel Management & Tourism Website
TourStacks is a full-featured Hotel Management Website with integrated Tourism Packages built using PHP, MySQL, Bootstrap, and core web techs. It includes a responsive main user interface for customers to book rooms and tours, and a powerful admin panel for hotel staff to manage bookings and stats.
🌐 Live Demo
✨ Features
🧳 For Users:
- Browse and book tourism packages
- Reserve hotel rooms online
- Mobile-responsive & user-friendly design
🛠️ For Admins:
- Secure admin login panel
- View and manage all bookings
- Track real-time statistics and hotel data
🛠️ Tech Stack
- Frontend: HTML, CSS, JavaScript, Bootstrap
- Backend: PHP
- Database: MySQL
- Containerization: Docker, Docker Compose
- Web Server: Nginx
🐳 Docker Deployment
Prerequisites
Quick Start
-
Clone the repository
git clone https://github.com/yourusername/Tourstack.git cd Tourstack -
Start the containers
docker-compose up -d --build -
Import the database
- Open phpMyAdmin at http://localhost:8080
- Select the
tourstackdatabase - Click Import → Choose
tourstack.sql→ Click Go
-
Access the application
- 🌐 Website: http://localhost
- 🔧 phpMyAdmin: http://localhost:8080
Docker Services
| Service | Container | Port | Description | | ---------- | -------------------- | ---- | ------------- | | Nginx | tourstack-nginx | 80 | Web server | | PHP-FPM | tourstack-php | 9000 | PHP processor | | MySQL | tourstack-mysql | 3306 | Database | | phpMyAdmin | tourstack-phpmyadmin | 8080 | DB management |
Database Credentials
| Setting | Value | | ------------- | ------------------ | | Host | mysql | | Database | tourstack | | Root Password | rootpassword | | User | tourstack_user | | Password | tourstack_password |
⚠️ Note: For production, change default passwords in
docker-compose.yml
Useful Commands
# Start containers
docker-compose up -d
# Stop containers
docker-compose down
# View logs
docker-compose logs -f
# Rebuild containers
docker-compose up -d --build
🚀 Run Locally (Without Docker)
- 📥 Download and install XAMPP
- 🗂 Copy this project folder into
C:\xampp\htdocs\ - ▶ Start Apache and MySQL from XAMPP control panel
- 🔧 Open phpMyAdmin at localhost/phpmyadmin
- 🗃 Create a new database (e.g.,
tourstack) and import the provided.sqlfile - 🌍 Open browser and go to: http://localhost/Tourstack
📁 Project Structure
Tourstack/
├── docker/
│ ├── nginx/
│ │ └── default.conf # Nginx configuration
│ └── php/
│ ├── Dockerfile # PHP-FPM image
│ └── php.ini # PHP settings
├── images/ # Static images
├── includes/ # PHP includes (header, footer)
├── js/ # JavaScript files
├── docker-compose.yml # Docker orchestration
├── index.php # Main entry point
├── style.css # Main stylesheet
└── tourstack.sql # Database schema
🙌 Author
Made by Knox
📄 License
This project is open-source and free to use for learning purposes.
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
