Welcome to the Tour & Travel App project! This is a clean, interactive, and responsive web application built to master component architecture, component decomposition, and props management in React using Tailwind CSS for rapid styling.
A modern, responsive React application for showcasing holiday travel packages. Built with React, Vite, React Router, and styled with CSS.
Master component architecture, props drilling, and responsive design patterns
- Framework: React.js (Vite Template)
- Styling: CSS
- Language: JavaScript (ES6+), HTML, CSS
- Hosting: Vercel
- π¨ Modular Components β 5+ reusable, independent UI components
- π Props Drilling β Seamless data flow through component hierarchy
- π± Fully Responsive β Mobile, tablet, and desktop optimized
- β‘ Lightning Fast β Vite-powered development with Hot Module Replacement (HMR)
- π― Modern Styling β CSS for rapid, utility-first design
- π£οΈ React Router β Multi-page navigation and routing
- π Production Ready β Clean, maintainable, scalable codebase
| Technology | Version | Purpose |
|---|---|---|
| React | ^19.2.7 | UI framework |
| Vite | ^8.1.1 | Build tool & dev server |
| React Router DOM | ^7.18.1 | Client-side routing |
| CSS | ^3.7.18 | Utility-first styling |
| JavaScript | ES6+ | Language |
| oxlint | ^1.71.0 | Code linting |
Tour_Travel_Project/
βββ index.html # HTML entry point
βββ vercel.json # Vercel
βββ package.json # Project dependencies and scripts
βββ package-lock.json
βββ vite.config.js # Vite configuration
βββ public/ # Static assets
βββ src/
β βββ App.css # Main app styles
β βββ App.jsx # Main app component
β βββ index.css # Global styles
β βββ main.jsx # Application entry point
β βββ Components/ # Reusable UI components
β β βββ AboutUs.css
β β βββ AboutUs.jsx
β β βββ ContactForm.css
β β βββ ContactForm.jsx
β β βββ Destination.css
β β βββ Destination.jsx
β β βββ DestinationData.jsx
β β βββ Footer.css
β β βββ Footer.jsx
β β βββ Hero.css
β β βββ Hero.jsx
β β βββ MenuItem.jsx
β β βββ NavBar.css
β β βββ NavBar.jsx
β β βββ Trip.css
β β βββ Trip.jsx
β β βββ TripData.jsx
β βββ Routes/ # Page-level route components
β βββ About.jsx
β βββ Contact.jsx
β βββ Home.jsx
β βββ Services.jsx
βββ Router/ # Additional router-based app folder
β βββ Dockerfile
β βββ package.json
β βββ README.md
β βββ tsconfig.json
β βββ vite.config.ts
β βββ app/
β β βββ app.css
β β βββ root.tsx
β β βββ routes.ts
β β βββ routes/
β β β βββ home.tsx
β β βββ welcome/
β β βββ welcome.tsx
β βββ public/
βββ README.md # This file
| Component | Purpose |
|---|---|
| NavBar | Displays the top navigation bar with menu links and a mobile toggle. |
| Hero | Shows the landing banner section with image, title, description, and CTA button. |
| Trip | Renders the recent trips section with multiple trip cards. |
| TripData | Displays an individual trip card with image, heading, and details. |
| Destination | Shows featured destinations with image-based content blocks. |
| DestinationData | Displays a single destination section with text and images. |
| AboutUs | Presents the company history, mission, and vision. |
| Footer | Displays the page footer content. |
| ContactForm | Provides a contact form UI for user inquiries. |
- Home β Main landing page combining hero, trips, and destinations
- About β Company information section
- Services β Service-related page content
- Contact β Contact page with a form
Every time I initialize a new React + Tailwind CSS project, I follow these exact standard steps. You can use this guide to recreate or understand the workspace structure:
Run the following command in your terminal:
npm create vite@latestβProceed? y
βProject Name: Your_Project_Name β Package Name: your_package_name β
Select a framework: React β
Select a variant: JavaScript
βWith oxy? No β
Install with npm? Yes
βIf you want to pull this project and run it again locally, simply execute these commands:
# Navigate to the project folder
cd Bg_Changer_Project
# Start the local development server
npm run dev
- Node.js (v16 or higher)
- npm package manager
- Basic knowledge of React and JavaScript
- Clone the repository
git clone https://github.com/MehmoodCoder/Tour_Travel_App.git
cd Tour_Travel_App/Tour_Travel_Project- Install dependencies
npm install- Start the development server
npm run dev- Open in browser
Project Link : Tuor App
npm run devRun oxlint to check code quality and style.
This project uses ** CSS ** for all styling.
- Push your code to GitHub
- Go to vercel.com
- Click "New Project"
- Connect your GitHub repository
- Connect the exact project folder containing
package.jsonto avoid nested directory issues - Vercel automatically detects Vite settings
- Toggle the "Build Command" and write
npm run buildmanually to override it - Click "Deploy"
- β Component Decomposition β Breaking complex UIs into reusable pieces
- β Props Management β Passing data and functions through component trees
- β React Hooks β State management with hooks
- β Conditional Rendering β Showing/hiding content based on conditions
- β
List Rendering β Displaying dynamic data with
.map() - β CSS-in-JS & Utility Classes β Styling with Tailwind
- β Responsive Design β Mobile-first approach with media queries
- β Client-Side Routing β Multi-page navigation with React Router
MehmoodCoder
- π GitHub: github.com/MehmoodCoder
- π Portfolio: My Portfolio Link
This project is open source and available under the MIT License.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- β¨ Responsive homepage with hero section
- π― Trip and destination showcases
- π Multi-page routing with React Router
- π CSS styling
- π± Mobile-responsive design
- Built with Vite
- Styled with Tailwind CSS
- Routed with React Router
Happy coding without chai ! β