Skip to content

Latest commit

 

History

History
219 lines (165 loc) · 10.7 KB

PAUS_ed.md

File metadata and controls

219 lines (165 loc) · 10.7 KB

CoC Inheritance 2022
P2P Carpooling Using BlockChain Technology

P2P Carpooling Using BlockchainP2P Decentralised Carpooling Network -
CoC Inheritance 2022 || PAUS-ed


Table of Contents

📝Description

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.

  1. Decentralized Network: A peer-to-peer carpooling platform based on blockchain operates on a decentralized network, eliminating the need for intermediaries.
  2. Secure Transactions: The platform uses blockchain technology to secure and track transactions between users, ensuring the safety and transparency of financial transactions.
  3. Smart Contracts: The platform can be powered by smart contracts, automatically executing the terms of a carpooling agreement without intermediaries.
  4. Data Privacy: User data is protected by the immutable and secure nature of blockchain technology, ensuring privacy and security.

🔗Links

Add any more links/resources you used for your project

🤖Tech-Stack

Front-end

  • HTML
  • CSS
  • JavaScript
  • ReactJS
  • web3.js Documentation
  • ethers.js Documentation

Back-end

Database

Extensions

Additional Softwares

File Structure

📦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
 

📈Progress

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

🔮Future Scope

List down all the future plans for the project here

  • Real-time tracking of Rides
  • Support & Notification System

💸Applications

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.

🛠Project Setup

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

💻Usage

In the root directory, install all the dependencies of the frontend by running the command:

npm install

Navigate to the \backend directory, and then install the dependencies of the backend by running the command:

npm install

Navigate back to the root directory, and then execute the frontend by running the command:

npm start

Execute the backend by running the command:

nodemon index.js

👨‍💻Team Members

👨‍🏫Mentors

📱Screenshots

Main Link