Skip to content

TrustLink is a decentralized escrow system designed to facilitate trust and transparency in collaborative projects. Using blockchain-based smart contracts, it ensures milestone-based fund release, dispute resolution, and transparent project tracking for freelancers, businesses, and teams worldwide.

Notifications You must be signed in to change notification settings

Fmsticks2/TrustLink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TrustLink - Decentralized Freelance Platform

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.

Project Structure

TrustLink/
├── Frontend/           # React-based frontend application
├── Backend/            # Node.js backend server
└── Blockchain/         # Smart contracts and blockchain integration

Features

  • 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

Technology Stack

Frontend

  • React.js with Vite
  • Wagmi (Ethereum interactions)
  • TailwindCSS (Styling)
  • React Context (State management)
  • Ethers.js (Blockchain integration)

Backend

  • Node.js
  • Express.js
  • MongoDB
  • JWT Authentication
  • AWS S3 (File storage)

Blockchain

  • Solidity
  • Citrea zkEVM
  • OpenZeppelin Contracts
  • Hardhat (Development environment)

Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • MongoDB
  • Citrea zkEVM Wallet
  • Git

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/trustlink.git
cd trustlink
  1. Install Frontend dependencies:
cd Frontend
npm install
cp .env.example .env  # Configure environment variables
  1. Install Backend dependencies:
cd ../Backend
npm install
cp .env.example .env  # Configure environment variables
  1. Install and compile smart contracts:
cd ../Blockchain
npm install
cp .env.example .env  # Configure environment variables
npx hardhat compile

Running the Application

  1. Start the backend server:
cd Backend
npm run dev
  1. Start the frontend application:
cd Frontend
npm run dev
  1. Run blockchain tests:
cd Blockchain
npx hardhat test

Testing

Frontend Tests

cd Frontend
npm test

Backend Tests

cd Backend
npm test

Smart Contract Tests

cd Blockchain
npx hardhat test

Deployment

For detailed deployment instructions, please refer to DEPLOYMENT.md.

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Security Best Practices

  • 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

Support

For support, please open an issue in the GitHub repository.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

TrustLink is a decentralized escrow system designed to facilitate trust and transparency in collaborative projects. Using blockchain-based smart contracts, it ensures milestone-based fund release, dispute resolution, and transparent project tracking for freelancers, businesses, and teams worldwide.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •