CoC Inheritance 2022 || PAUS-ed
Table of Contents
Currently, most carpooling systems are in the control of the industry giants like Ola, Uber and several others. Thave all the data of drivers as well as of riders and this can lead to major privacy issues. This project therefore aims to move ride-sharing and car hire are to blockchain in order to build a much more secure and reliable carpooling system that would connect the rider and driver directly using "smart contracts" without the intervention of any third party.
- Decentralized Network: A peer-to-peer carpooling platform based on blockchain operates on a decentralized network, eliminating the need for intermediaries.
- Secure Transactions: The platform uses blockchain technology to secure and track transactions between users, ensuring the safety and transparency of financial transactions.
- Smart Contracts: The platform can be powered by smart contracts, automatically executing the terms of a carpooling agreement without intermediaries.
- Data Privacy: User data is protected by the immutable and secure nature of blockchain technology, ensuring privacy and security.
- GitHub Repository
- Demo Video
- Drive Link to Screenshots of your project
- Hosted Website Link
- Hosted Backend Link
Add any more links/resources you used for your project
- HTML
- CSS
- JavaScript
- ReactJS
- web3.js Documentation
- ethers.js Documentation
- Node.js Documentation
- Express.js Documentation
- MongoDB Documentation
- Metamask Documentation
- CORS Blocker Documentation
- Remix IDE Documentation
- Thunderclient Documentation
📦master
┣ 📂backend
┃ ┗ 📂models # Contains schema for MongoDB collection named User (User.js)
┃ ┗ 📂routes # Contains Auth.js for POST requests from backend to database
┃ ┗ 📜.gitignore
┃ ┗ 📜db.js #Connects node.js to MongoDB
┃ ┗ 📜index.js #Parent File
┃ ┗ 📜package.json #Dependencies are listed
┃ ┗ 📜package-lock.json
┣ 📂public
┣ 📂src
┃ ┗ 📂assets # Contains assets like fonts, images used in the UI
┃ ┃ ┗ 📂font
┃ ┃ ┗ 📂Images
┃ ┃ ┗ 📂img
┃ ┗ 📂bookaridecomponents # React Components utilised in the Book & Publish a Ride pages
┃ ┃ ┗ 📂About
┃ ┃ ┗ 📂Home
┃ ┃ ┗ 📂NavBar
┃ ┃ ┗ 📂Popular
┃ ┃ ┗ 📂Publish
┃ ┗ 📂components # React Components utilised in the Home page
┃ ┃ ┗ 📜Banner.js
┃ ┃ ┗ 📜NavBar.js
┃ ┃ ┗ 📜Contact.js
┃ ┃ ┗ 📜Footer.js
┃ ┃ ┗ 📜Projects.js
┃ ┗ 📂contracts # Contains the Smart Contract for Carpooling
┃ ┃ ┗ 📜carpool-contract.sol
┃ ┗ 📂Webpages # Contains the WebPages for Login & Sign Up Pages
┃ ┃ ┗ 📜BookARide.css
┃ ┃ ┗ 📜BookARide.js
┃ ┃ ┗ 📜forgotpassword.js
┃ ┃ ┗ 📜otp.js
┃ ┃ ┗ 📜resetpassword.js
┃ ┃ ┗ 📜RideBooked.js
┃ ┃ ┗ 📜signinpage.js
┃ ┃ ┗ 📜signuppage.js
┃ ┃ ┗ 📜style.css
┃ ┗ 📜App.css
┃ ┗ 📜App.js # Main file
┃ ┗ 📜App.test.js
┃ ┗ 📜index.css
┃ ┗ 📜index.js # Renders App.js
┃ ┗ 📜logo.svg
┣ 📜README.md
┗ 📜package.xml
List down all the fully implemented features in your project
- User Authentication
- Smart Contracts for Carpooling
List down all the partially implemented features in your project
- Partial Responsiveness
- Booking & Publishing Rides via Metamask
- Explored Chainlink Oracle for External Distance Data Estimation
List down all the future plans for the project here
- Real-time tracking of Rides
- Support & Notification System
Peer-to-peer carpooling platform based on blockchain has the potential to solve several real-life problems, including:
-
Traffic Congestion: By incentivizing carpooling, the platform can help reduce the number of cars on the road, reducing traffic congestion and improving sustainability.
-
Inefficient and Costly Transportation: Carpooling can provide an affordable and efficient alternative to individual transportation, reducing costs for both drivers and riders.
-
Lack of Trust: Blockchain technology can provide a secure and transparent environment for carpooling, helping to build trust between users and reducing the risk of fraud or exploitation.
Applications of the platform can include:
-
Urban Commuting: The platform can be used by city residents to carpool to work or other destinations, reducing traffic congestion and air pollution.
-
Long-distance Travel: The platform can be used for long-distance travel, allowing drivers to offset the cost of gas and tolls by offering rides to passengers traveling in the same direction.
-
Event Transportation: The platform can be used for event transportation, allowing attendees to share rides and reduce traffic congestion around event venues.
Monetization of the platform can be achieved through:
-
Commission on Transactions: The platform can charge a small commission on each transaction, earning revenue from the financial transactions made on the platform.
-
Advertising: The platform can sell advertising space to businesses, earning revenue from advertising campaigns.
-
Premium Services: The platform can offer premium services for a fee, such as guaranteed ride matching or premium carpooling experiences.
-
Token System: The platform can use a token system to incentivize users to participate in carpooling, and sell tokens to generate revenue.
Include your project setup basics here. Steps for how someone else can setup your project on their machine. Add any relevant details as well.
- STEP 1: Install Node.js and npm: Node.js is an open-source, cross-platform JavaScript runtime environment that executes JavaScript code outside of a web browser. It allows developers to build server-side applications in JavaScript and run them on the server. It includes a rich library of modules, known as npm (Node Package Manager), that enables developers to add functionality to their applications quickly and easily. It is widely used for web application development, building networked applications, and developing server-side scripts.
- STEP 2: Install and configure MongoDB Compass MongoDB is a popular, open-source NoSQL database management system. It is classified as a document-oriented database, which means that it stores data in the form of documents (in BSON format) instead of traditional table-based relational databases.
- STEP 3: Install Metamask Extension MetaMask is a browser extension and mobile app that provides an interface for interacting with decentralized applications (dApps) built on the Ethereum blockchain. It allows users to securely store, manage, and send Ethereum and other Ethereum-based tokens, as well as interact with dApps in a user-friendly way.
- STEP 4: Configure a Metamask Account
In the root directory, install all the dependencies of the frontend by running the command:
Navigate to the \backend directory, and then install the dependencies of the backend by running the command:
Navigate back to the root directory, and then execute the frontend by running the command:
Execute the backend by running the command: