Moroccan Horizons is a comprehensive tour booking platform that allows users to book unique tour trips across Morocco. The platform offers an intuitive interface for customers and an extensive set of administrative functionalities. It is built with cutting-edge web technologies, ensuring a seamless and enjoyable user experience.
- Tour Booking: Users can browse and book tours across Morocco effortlessly.
- Map Integration: Integrated with Mapbox GL for dynamic map views of tour locations.
- Payment System: Secured payments powered by Stripe.
- Responsive Design: Mobile-first, responsive UI built with React and Tailwind CSS.
- Tour Management: Admins can add, update, or remove tours.
- User Management: View and manage user bookings and feedback.
- Advanced Insights: Analytics for bookings, revenue, and more.
- React.js: For building a dynamic and interactive user interface.
- React Query: For efficient data fetching and caching.
- React Router: For seamless navigation between pages.
- Mapbox GL: For real-time interactive maps.
- Tailwind CSS: For modern, responsive design.
- Node.js with Express.js: As the primary backend framework.
- MongoDB with Mongoose: For efficient data storage and management.
- JWT: Secure user authentication and authorization.
- Multer & Sharp: For image uploads and processing.
- Stripe: For secure online payment processing.
- Pug Template Engine: For dynamic email templates.
- Helmet & CORS: For enhanced security and cross-origin request handling.
- Map-based tour exploration.
- Secure and seamless checkout process.
- Dynamic form validation using React Hook Form.
- User-friendly toast notifications with React Hot Toast.
- RESTful API for CRUD operations on tours, users, and bookings.
- Middleware for rate-limiting and security using Helmet and Express-Rate-Limit.
- Automated emails for booking confirmations using Nodemailer.