Helping IIT KGP students find travel partners for their trips
Report Bug
·
Request Feature
Table of Contents
Travel Buddy is a NextJS 14 and MongoDB Atlas-based web application designed to help IIT KGP students find travel partners for various trips. Whether it's sharing a cab to the airport, finding a train buddy, or coordinating travel plans, Travel Buddy makes it easier to connect with fellow travelers.
- Trip Matching: Enter your trip details and find others with similar plans within a +/-3 hour window.
- Train Matching: Enter your train details to find other travelers on the same train and date.
- High Usability: Easy-to-use interface designed specifically for IIT KGP students.
- Authentication: Secure login and registration using Institure Email Address using heimdall.
To set up Travel Buddy locally, follow these steps:
- Ensure you have Node.js and npm installed. You can download them from here.
- MongoDB Atlas account and cluster. Sign up here.
-
Clone the repository:
git clone https://github.com/metakgp/travel-buddy.git cd travel-buddy
-
Install the dependencies:
npm install
-
Configure environment variables:
-
Create a
.env
file in the root directory. -
Add your MongoDB Atlas connection string:
MONGODB_URI=your_mongodb_connection_string
-
Add your JWT secret key:
JWT_SECRET=your_jwt_secret_key
-
-
Run the application:
npm run dev
To use Travel Buddy, follow these steps:
-
Open the application in your browser:
http://localhost:3000
-
Register or log in using your Institute Email Address.
-
Enter your trip or train details to find matching travelers.
-
Browse through the list of potential travel partners and connect with them.
- Trip Matching: Finds other travelers with trip times within +/- 3 hours of your specified time.
- Train Matching: Matches travelers based on the train number and departure date.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Ensure your development environment is set up with Node.js, npm, and MongoDB Atlas.
- Refer to the Installation section for initial setup instructions.
- UI and Quality of Life (QOL) improvements.
- Enhance train matching logic to include nearby arrival/departure timings at the same station.
- Adapt the application for use by other colleges.
See the open issues for a full list of proposed features (and known issues).