HemBoard is a cutting-edge, blockchain-powered job marketplace that revolutionizes how employers and job seekers connect, offering transparency, security, and efficiency through smart contract technology. With gasless transactions and sponsored fees, users can post jobs and submit applications without paying gas costs.
- Flexible Job Posting: Create detailed job listings with custom fields
- Secure Application Management: Track and manage job applications on-chain
- Gasless Transactions: Post jobs and submit applications with sponsored fees - no gas costs required
- Work Mode Flexibility: Support for remote, onsite, and hybrid work modes
- Comprehensive Job Types:
- Full-time
- Part-time
- Internship
- Freelance
- Contract
- Built on Solidity 0.8.28
- Leverages OpenZeppelin's security libraries
- Implements Ownable and ReentrancyGuard for enhanced security
- Supports IPFS integration for job logos and CVs (via Content Identifiers)
- Meta-transaction support via JobBoardPaymaster for gasless/sponsored transactions
- Owner-controlled service fee management
- Gasless transaction support with sponsored fees via paymaster contract
- Job deletion and closure controls
- Application state tracking
- Reentrancy protection
HemBoard implements a comprehensive role-based access control system with three primary roles:
-
Admin Role
- Highest level of access
- Automatically granted all roles upon contract deployment
- Can perform all actions across the platform
- Manages job postings, applications, and system settings
-
Employer Role
- Can post and manage their own jobs
- Track and update job applications
- Modify job listings
-
Job Manager Role
- Oversee job-related operations
- Can manage applications and job statuses
- Supports administrative workflows
Admins have comprehensive platform management capabilities:
- Create Jobs: Post jobs for any employer
- Edit Jobs: Modify any job listing
- Delete Jobs: Remove job listings
- Expire Jobs: Set job listings as expired
- Close Jobs: Terminate active job postings
- Grant Roles: Assign Job Manager and Employer roles
- Revoke Roles: Remove user roles
- Role Verification: Check user role permissions
- Update Application Status: Modify applicant status
- View Applicants: Access detailed applicant information
- Manage Applications: Track and control job applications
- Service Fee Management: Update platform transaction fees (can be sponsored for gasless transactions)
- Funds Withdrawal: Manage platform-accumulated funds
- Paymaster Management: Enable/disable gasless transactions and manage sponsored fees
- Job Monitoring: Full visibility into all job listings
- Role-based access control
- Granular permission settings
- Secure transaction validation
- Transparent administrative actions
- Admin is automatically granted Admin, Employer, and Job Manager roles
- Employers receive the Employer role when posting a job
- Job Managers can be explicitly granted their role by the Admin
- Granular permission management
- Secure role-based access
- Flexible administrative controls
- Transparent role assignment
- Unique job ID
- Employer address
- Organization details
- Job description
- Custom fields
- Salary range
- Work mode
- Job type
- Job Posting (with optional gasless/sponsored fee support)
- Application Submission (with optional gasless/sponsored fee support)
- Application State Management
- Submitted
- Reviewed
- Email Sent
- Closed
- Solidity
- Ethereum
- IPFS
- Next.js
- Hardhat
- Wagmi
- RainbowKit
- Advanced job matching algorithms
- Reputation scoring system
- Enhanced communication tools
- Skill verification mechanisms
- Node.js 16+
- Ethereum Wallet
- Hardhat
# Clone the repository
git clone https://github.com/MujeebSulayman/Decentralized-Job-Board
# Install dependencies
npm install
# Compile contracts
npx hardhat compile
# Run tests
npx hardhat test
# Deploy to local network
npx hardhat run scripts/deploy.js- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
This project is licensed under [MIT] - see the LICENSE file for details.
- Project Developer: Mujeeb Sulayman
- Email: Sulaymanmujeeb6@gmail.com
- Twitter: @thehemjay
Disclaimer: HemBoard is a decentralized application. Always do your own research and understand the risks involved in blockchain technologies.