A decentralized job marketplace platform built on Solana blockchain, enabling secure and transparent freelance job postings, bidding, and payments. The platform combines the power of blockchain technology with a modern web interface to create a trustless environment for freelancers and employers.
- Blockchain-Powered: Built on Solana for fast, low-cost transactions
- Smart Contract Integration: Secure job contracts and payments
- User Authentication: Wallet-based authentication system
- Job Management: Create, browse, and manage job listings
- Profile System: Comprehensive user profiles for freelancers and employers
- Real-time Updates: Live contract and payment status tracking
- Responsive Design: Modern UI built with React and Tailwind CSS
- React.js with Vite
- Tailwind CSS for styling
- Web3 integration with Solana wallet adapters
- Modern component architecture
- Node.js server
- Express.js framework
- MongoDB database (assumed based on models)
- JWT authentication
- Solana Program (Smart Contract)
- Rust / Anchor escrow initialization
- Solana Web3.js for blockchain interactions
hireonchain/
├── app/ # React frontend application
├── server/ # Node.js backend server
└── solana-program/ # Solana smart contract
- VScode
- Node.js (v18 or higher)
- Anchor and Cargo
- Solana CLI tools
- MongoDB
-
Clone the repository:
git clone cd hireonchain -
Install frontend dependencies:
cd app npm install -
Install backend dependencies:
cd ../server npm install -
Build Solana program:
cd ../solana-program cargo build -
Set up environment variables:
- Create
.envfiles in bothapp/andserver/directories - Add necessary environment variables (see
.env.examplefiles)
- Create
-
Start the frontend:
cd app npm run dev -
Start the backend server:
cd server npm start -
Deploy Solana program (if needed):
cd solana-program solana program deploy target/deploy/[program-name].so
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Phase A: Component Integration - Updated all major components to support blockchain data fetching and dual-view UI
- JobList.tsx - Blockchain job browsing
- CreateJob.tsx - Blockchain job publishing
- Dashboard.tsx - Blockchain data visualization
Phase B: Contract Method Wrappers - Implemented high-level contract operation interface
- contract-methods.ts - 12 instruction builders
- useContractMethods Hook - 11 contract operations
- SDK Exports - Centralized interface
Phase C: Devnet Deployment - Deploy to Solana devnet (awaiting faucet funding) Phase D: Phantom Testing - End-to-end validation workflow
- Implementation Roadmap - Complete A-D overview
- Step A Guide - Component integration details
- Step B Guide - Contract methods implementation
- Step C Guide - Devnet deployment steps
- Step D Guide - Phantom wallet testing procedure
- Frontend:
http://localhost:5173 - Backend API:
http://localhost:5000 - MongoDB:
mongodb://127.0.0.1:27017/hireonchain - Program ID:
Hzmfuj1scfA4UWNsKu82MopCsrvUEBGfeAtB79xYfXzK - Explorer: Solscan Devnet
- Cluster: Solana Devnet
- Wallet: Phantom (recommended)
- Database: MongoDB (local or cloud)
See Step D Guide for comprehensive testing procedures including:
- Wallet connection validation
- Job creation (backend & blockchain)
- Job browsing (dual data sources)
- Dashboard verification
- Error scenario handling
- Performance benchmarking
# Terminal 1: Backend
cd server && npm install && npm start
# Terminal 2: Frontend
cd app && npm install && npm run dev
# Terminal 3: Solana Logs (WSL)
cd solana-program && solana logs Hzmfuj1scfA4UWNsKu82MopCsrvUEBGfeAtB79xYfXzK --url devnetThen:
- Open
http://localhost:5173in browser - Install Phantom wallet extension
- Configure for Devnet
- Connect wallet
- Create job to test blockchain integration
| Issue | Solution |
|---|---|
| "No actual database connection" | Ensure MongoDB is running and MONGO_URI is set in server/.env |
| "Wallet not connected" | Install Phantom, configure for Devnet, refresh page |
| "Program not found" | Verify Program ID matches deployment, check cluster setting |
| "Insufficient funds" | Use devnet faucet to airdrop SOL to wallet |
See more in Troubleshooting Guide
For issues or questions:
- Check the comprehensive guides in
/STEP_*_GUIDE.md - Review Implementation Roadmap for architecture
- Check Solana Devnet logs:
solana logs [program-id] --url devnet - View transactions on Solscan
This project is in development and should not be used in production without proper security audits and testing. Use only on Solana Devnet for testing purposes.