GoYatra is a full-stack travel planning application designed to streamline the process of discovering, organizing, and booking travel experiences. Built with modern web technologies, GoYatra offers users an intuitive interface to explore destinations, manage itineraries, and make reservations seamlessly.
The project follows a monorepo architecture, separating the frontend and backend for modularity and scalability:
GoYatra/
├── client/ # Frontend application (React)
└── server/ # Backend application (Node.js/Express)
- User Authentication: Secure login and registration system.
- Destination Browsing: Explore various travel destinations with detailed information.
- Itinerary Management: Create and customize travel plans.
- Booking System: Reserve accommodations and activities.
- Responsive Design: Optimized for desktops, tablets, and mobile devices.
- API Integration: Fetch real-time data for destinations, weather, and more.
- React: Component-based UI development.
- React Router: Client-side routing.
- Context API: Lightweight state management..
- Axios: HTTP client for API requests.
- Bootstrap/Tailwind CSS: Responsive design and styling.
- Node.js: JavaScript runtime environment.
- Express.js: Web framework for Node.js.
- Gemini AI: Integrated AI-powered chatbot for support and itinerary.
- MongoDB: NoSQL database for storing user and travel data.
- Mongoose: ODM for MongoDB.
- JWT: JSON Web Tokens for authentication.
- bcrypt: Password hashing.
- Node.js (v14 or above)
- npm or yarn
- MongoDB instance (local or cloud-based)
-
Clone the repository:
git clone https://github.com/Adit122022/GoYatra.git cd GoYatra
-
Setup Backend:
cd server npm install
-
Create a
.env
file in theserver
directory with the following variables:PORT=5000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret
-
Start the backend server:
npm start
-
-
Setup Frontend:
cd ../client npm install
-
Start the frontend development server:
npm start
-
The application will be accessible at
http://localhost:3000
.
-
To deploy GoYatra:
-
Frontend: Build the React application.
cd client npm run build
- Deploy the
build
folder to a static hosting service like Netlify, Vercel, or GitHub Pages.
- Deploy the
-
Backend: Deploy the Express server to a platform like Heroku, Render, or DigitalOcean.
- Ensure environment variables are correctly set on the hosting platform.
Testing scripts and instructions will be added in future updates.
Contributions are welcome! To contribute:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature/your-feature-name
-
Commit your changes:
git commit -m "Add your message here"
-
Push to the branch:
git push origin feature/your-feature-name
-
Open a pull request.
Please ensure your code adheres to the project's coding standards and includes relevant tests.
This project is licensed under the MIT License.
For any inquiries or feedback:
- GitHub: Adit122022