TrustLink is a decentralized freelance marketplace built on Citrea zkEVM that connects clients with talented freelancers while ensuring secure and transparent transactions through blockchain technology.
TrustLink/
├── Frontend/ # React-based frontend application
├── Backend/ # Node.js backend server
└── Blockchain/ # Smart contracts and blockchain integration
- Decentralized Identity: Web3 wallet integration with ENS support
- Smart Contract-based Escrow: Secure payment handling
- Comprehensive User Profiles: Detailed freelancer and client profiles
- Advanced Job Management: Create, track, and manage jobs
- Proposal System: Submit and manage job proposals
- Multi-chain Support: Built on Citrea zkEVM
- Social Integration: Multiple authentication options
- React.js with Vite
- Wagmi (Ethereum interactions)
- TailwindCSS (Styling)
- React Context (State management)
- Ethers.js (Blockchain integration)
- Node.js
- Express.js
- MongoDB
- JWT Authentication
- AWS S3 (File storage)
- Solidity
- Citrea zkEVM
- OpenZeppelin Contracts
- Hardhat (Development environment)
- Node.js (v16 or higher)
- MongoDB
- Citrea zkEVM Wallet
- Git
- Clone the repository:
git clone https://github.com/yourusername/trustlink.git
cd trustlink- Install Frontend dependencies:
cd Frontend
npm install
cp .env.example .env # Configure environment variables- Install Backend dependencies:
cd ../Backend
npm install
cp .env.example .env # Configure environment variables- Install and compile smart contracts:
cd ../Blockchain
npm install
cp .env.example .env # Configure environment variables
npx hardhat compile- Start the backend server:
cd Backend
npm run dev- Start the frontend application:
cd Frontend
npm run dev- Run blockchain tests:
cd Blockchain
npx hardhat testcd Frontend
npm testcd Backend
npm testcd Blockchain
npx hardhat testFor detailed deployment instructions, please refer to DEPLOYMENT.md.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Never commit sensitive information or private keys
- Use environment variables for all secrets
- Regularly update dependencies
- Follow security best practices for Web3 development
- Implement proper input validation
- Use secure authentication methods
- Regular security audits
For support, please open an issue in the GitHub repository.
This project is licensed under the MIT License - see the LICENSE file for details.