BikeTours is a premium web platform for bike rentals and guided cycling adventures in the heart of Morocco, specifically the Beni Mellal and Atlas Mountains region. The application features a stunning, interactive UI and a robust administrative backend.
- Dynamic Fleet & Trips: Data-driven cards for bikes and excursions fetched directly from a MySQL database.
- Secure Admin Dashboard:
- Reservation Management: Track, confirm, and manage statuses.
- WhatsApp Integration: Quick-action buttons to contact clients directly on WhatsApp.
- Contact Monitoring: Centralized system for viewing and managing user inquiries.
- Multilingual Support: Fully translated into English, French, and Arabic.
- Responsive Design: Optimized for seamless experiences on desktops, tablets, and mobile devices.
The project has been reorganized into a modular and maintainable architecture:
/BikeTours
├── admin/ # Administrative portal & logic
│ ├── index.php # Dashboard UI
│ ├── login.php # Secure entry point
│ └── actions.php # Backend AJAX handlers
├── assets/ # Static public assets
│ ├── css/ # Vanilla CSS (style.css, admin.css)
│ ├── js/ # Vanilla JS (main.js, cursor.js)
│ └── img/ # Product and brand imagery
├── includes/ # Core backend logic
│ ├── core/ # Shared modules (db.php, lang.php, auth.php)
│ └── handlers/ # Form processors (contact.php, reserve.php)
├── index.php # Main landing page
├── details.php # Specialized bike detail view
└── verify_setup.php # Automated system & database initializer
- Prerequisites: A local PHP/MySQL server (e.g., MAMP, XAMPP).
- Database Setup:
- Create a database named
biketours. - Run the automated setup script by navigating to:
http://localhost/BikeTours/verify_setup.php
- Create a database named
- Configuration:
- Database credentials can be modified in
includes/core/db.php.
- Database credentials can be modified in
- Admin Access:
- URL:
http://localhost/BikeTours/admin/login.php - Default Credentials:
admin/admin123(Change these in the database for production).
- URL:
- Frontend: HTML5, CSS3 (Vanilla), JavaScript (ES6+), AOS.js
- Backend: PHP 8.x
- Database: MySQL 8.x with PDO (PHP Data Objects)
- Icons & Visuals: FontAwesome & SVG icons
Crafted with ❤️ in Morocco.