Douit
Do it for more Duit
The problem Douit solves
What is Douit?
Douit is a decentralized application (dApp) designed to facilitate a secure and transparent freelancing ecosystem on the blockchain. Built using Solidity smart contracts, Hardhat for development and deployment, a Node.js backend with MySQL integration, and a React-based frontend, this platform leverages blockchain technology to enable seamless interactions between clients and freelancers. The application operates on a test network (Hardhat Network, with future expansion to Lisk Sepolia Testnet) and integrates with MetaMask for user authentication and transaction signing, ensuring a trustless environment for service delivery and payment processing.
Problem It Aims to Solve
Traditional freelancing platforms often suffer from issues such as centralized control, lack of transparency in payment disputes, and vulnerability to data breaches or intermediary failures. These platforms may impose high fees, delay payments, or fail to provide verifiable proof of work, leading to mistrust between parties. Freelancing-dApp addresses these challenges by:
Eliminating intermediaries through smart contracts, reducing costs and enhancing trust.
Providing an immutable record of transactions and deliverables on the blockchain, ensuring transparency and auditability.
Securing user identities and funds with decentralized mechanisms, mitigating risks associated with centralized data storage.
Key Features
-
Decentralized User Registration and Login:
Users register and log in using their MetaMask wallets, linking their blockchain addresses to unique usernames stored both on-chain (via the Profile contract) and off-chain (in a MySQL database). This ensures secure and verifiable identity management. -
Task and Escrow Management:
The TaskEscrow and MoneyEscrow contracts enable clients to create tasks, lock funds in escrow using a mock IDRX token (MockIDRX), and release payments to freelancers upon task completion, with dispute resolution mechanisms to protect both parties. -
Transparent Payment System:
Utilizes a mock ERC-20 token (MockIDRX) for transactions, allowing secure fund transfers managed by smart contracts, with all payment events recorded on the blockchain for transparency. -
User Dashboard:
A planned React component (Dashboard.jsx) will provide a user interface to view profiles, active tasks, and transaction history, enhancing usability and accessibility. -
Cross-Platform Accessibility:
The React frontend ensures a responsive and intuitive experience across devices, while the backend API bridges blockchain interactions, making the platform accessible to a wide audience.
Challenges I ran into
It is my first time making a blockchain application, so it kinda hard for me to start and understanding overall project especially i just joined this hackathon not so long before its last submission. But thankfully i still can manage to create something, although it is not finished yet.
Technologies used
