CabRental is a decentralized vehicle rental platform that offers users a seamless and secure experience for renting vehicles. By integrating traditional technologies with cutting-edge Web3 innovations, CabRental ensures a modernized and trustworthy booking process. Key Web3 features include decentralized login via crypto wallets, smart contract-based transactions, and blockchain data handling, enhancing both flexibility and security.
-
Decentralized Login with MetaMask 🔐
Users can sign in using their crypto wallets instead of traditional login methods, enhancing security and privacy. -
User Registration & Authentication 👤
Supports both social media and wallet-based authentication options for versatile user access. -
Smart Contract-Based Payments 💰
Automated payment processing using Solidity smart contracts ensures secure and transparent transactions. -
Vehicle Search & Booking 🚗
Users can search for vehicles by location, type, and availability with real-time checks for a smooth booking experience. -
Booking Management 🧾
Manage bookings with blockchain-powered tracking and verification for enhanced reliability. -
Admin Dashboard 👨💼
Admins can manage bookings, view analytics, and verify transactions using blockchain technology. -
Notifications & Alerts 🔔
Receive email, SMS, and on-chain notifications for payment confirmations and updates. -
User Feedback and Reviews ⭐
Decentralized storage of reviews and ratings ensures transparency and immutability using blockchain.
-
Front-end:
- HTML
- CSS
- JavaScript
-
Back-end:
- Node.js
- PHP
-
Smart Contracts:
- Solidity
-
Blockchain Interaction:
- MetaMask
- Web3.js
- Ethers.js
-
Database:
- MySQL
Follow these steps to set up a local copy of CabRental:
git clone https://github.com/07sumit1002/CabRental.git
cd CabRental
npm install composer
- Ensure that you have the MetaMask extension installed in your browser for decentralized login functionality.
- Run the application
-
Server Requirements:
Ensure your server supports PHP and Node.js. -
Database Setup:
Set up the MySQL database and configure the connection details as specified in theconfig
file. -
Blockchain Connection:
Configure blockchain connection settings in theconfig
file to interact with the smart contracts.
-
Using a Local Server:
Open the project in your preferred web server (e.g., XAMPP, WAMP, or a Node.js server). -
Access the Application:
Navigate tohttp://localhost/CabRental
(or your configured local server URL) in your web browser.
- Language: Solidity
- Purpose: Create rental agreements, handle payment processing, and manage loyalty rewards.
- Wallet Integration: MetaMask is used for decentralized wallet login.
- Library: Web3.js handles all blockchain transactions and interactions.
- Runtime: Node.js
- Functions:
- Manage wallet verification
- Handle data requests from the blockchain
- Process transactions securely
-
User Registration:
Users can register and authenticate using their preferred method (social media or crypto wallet). -
Search & Book Vehicles:
Utilize the search feature to find available vehicles based on location, type, and availability. -
Manage Bookings:
View and manage your bookings through the user dashboard, with real-time updates and blockchain verification. -
Admin Management:
Admins can oversee all bookings, analyze usage data, and verify transactions through the admin dashboard. -
Receive Notifications:
Stay informed with real-time notifications regarding your bookings and payments.
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
Click the Fork button at the top right of the repository page. -
Clone Your Fork
git clone https://github.com/your-username/CabRental.git
-
Create a New Branch
git checkout -b feature/AmazingFeature
-
Make Your Changes
Implement your feature or bug fix. -
Commit Your Changes
git add . git commit -m 'Add some AmazingFeature'
-
Push to Your Fork
git push origin feature/AmazingFeature
-
Open a Pull Request
Navigate to the original repository and open a pull request with a detailed description of your changes.
This project is licensed under the MIT License.
For any inquiries or support, please contact:
- Email:
- GitHub: @07sumit1002