Car-Saathi is a carpooling platform designed to connect drivers with passengers looking for a ride. This project aims to promote carpooling, reduce traffic congestion,affordability and minimize carbon emissions. It provide the user a comfort in his ride and very conveinient way to travel. This Project is Built using React, Node.js, Express, and MongoDB, Car-Saathi provides a seamless and user-friendly experience for ride-sharing.
- Node.js
- npm or yarn
- MongoDB
-
Clone the repository
git clone https://github.com/Sahilgupta3224/Car-Saathi.git
-
Navigate to the project directory cd Car-Saathi
-
Install server-side dependencies
cd server npm install -
Install client-side dependencies cd ../client npm install
-
Navigate to the socket directory and install dependencies cd ../socket npm install nodemon index.js
-
Create a .env file in the server directory and add your MongoDB connection string and other environment variables: MONGODB_URI = MONGO=mongodb+srv://sahil:[email protected]/?retryWrites=true&w=majority&appName=Cluster0 PORT=3000
-
Start the development server cd server nodemon server.js
-
Start the client cd ../client npm start
- Register or log in as a user. -> Access the registration or login page. -> Enter your details to create an account or log in.
- If you are a driver, create a ride offering with details such as destination, date, time, and available seats. -> Provide details such as destination, date, time, and available seats. -> Publish the ride offering for passengers to see.
- If you are a passenger, search for available rides based on your destination and preferred time. -> Enter your destination and preferred time. -> Browse through available ride options.
- Book a ride and contact the driver for further coordination. -> Select a suitable ride and book it. -> Use the chat functionality to communicate with the driver.
- User authentication and authorization -> Secure login and registration using JWT.
- Create, view, and manage ride offerings -> Drivers can create and manage their ride offerings.
- Publish rides -> Easily publish ride details for passengers to find.
- Search for available rides -> Passengers can search for rides based on their destination and time preferences.
- Book a ride -> Simple booking process for passengers.
- Chat functionality -> Real-time communication between drivers and passengers using Socket.io.
- Payment option available on website -> Secure payment integration with RazorPAY.
#Tech Stack
- Frontend: HTML, CSS, React, CSS Bootstrap, CSS Tailwind, Material UI
- Backend: Node.js, Express
- Database: MongoDB
- Real-time Communication: Socket.io
- Axios :- For making HTTP requests from the frontend to the backend.
- Google Oauth :- For secure and easy authentication using Google accounts.
- Google Map Api :- For integrating maps and location services.
- Socket :- For enabling real-time communication features.
- RazorPAY :- For handling payments.
- NodeMailer :- For sending emails.
- Firebase :- For additional backend services and notifications.
- Mongoose for MongoDB interactions :- For MongoDB object modeling.
- Socket.io for real-time chat
-> How to Contribute
- Fork the repository
- Create a new branch : (git checkout -b feature-branch)
- Commit your changes : (git commit -m 'Add some feature')
- Push to the branch : (git push origin feature-branch)
- Open a pull request
Sahil Gupta - [] Rudra Sharma - [[email protected]] Khanak Patwari - [] kitarth Shrivastav - []
Sahil Gupta - [] Rudra Sharma - [[email protected]] Khanak Patwari - [] kitarth Shrivastav - []
Project Link: https://github.com/Sahilgupta3224/Car-Saathi