https://github.com/mujeebsulayman/decentralized-job-board
Decentralized Job Board is a Web3 platform where employers post jobs on-chain and applicants apply securely. With blockchain transparency, IPFS file storage for logos and CVs, and smart contracts managing fees and applications, it ensures trust, privacy, and efficiency in hiring.
https://github.com/mujeebsulayman/decentralized-job-board
nextjs15 smartcontracts solidity walletconnect
Last synced: 3 months ago
JSON representation
Decentralized Job Board is a Web3 platform where employers post jobs on-chain and applicants apply securely. With blockchain transparency, IPFS file storage for logos and CVs, and smart contracts managing fees and applications, it ensures trust, privacy, and efficiency in hiring.
- Host: GitHub
- URL: https://github.com/mujeebsulayman/decentralized-job-board
- Owner: MujeebSulayman
- Created: 2025-01-19T04:29:40.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2025-03-16T06:05:27.000Z (3 months ago)
- Last Synced: 2025-03-16T07:19:05.891Z (3 months ago)
- Topics: nextjs15, smartcontracts, solidity, walletconnect
- Language: TypeScript
- Homepage: https://decentralized-job-board.vercel.app
- Size: 1.85 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# HemBoard: Decentralized Job Marketplace 🌐💼
## Overview
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.## 🚀 Key Features
### Smart Contract Capabilities
- **Flexible Job Posting**: Create detailed job listings with custom fields
- **Secure Application Management**: Track and manage job applications on-chain
- **Work Mode Flexibility**: Support for remote, onsite, and hybrid work modes
- **Comprehensive Job Types**:
- Full-time
- Part-time
- Internship
- Freelance
- Contract### Technical Highlights
- 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)## 🛡️ Security Features
- Owner-controlled service fee management
- Job deletion and closure controls
- Application state tracking
- Reentrancy protection## 🔐 Access Control and Role Management
### Roles
HemBoard implements a comprehensive role-based access control system with three primary roles:1. **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 settings2. **Employer Role**
- Can post and manage their own jobs
- Track and update job applications
- Modify job listings3. **Job Manager Role**
- Oversee job-related operations
- Can manage applications and job statuses
- Supports administrative workflows### Admin Capabilities
Admins have comprehensive platform management capabilities:
#### Job Management
- **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#### Role Management
- **Grant Roles**: Assign Job Manager and Employer roles
- **Revoke Roles**: Remove user roles
- **Role Verification**: Check user role permissions#### Application Management
- **Update Application Status**: Modify applicant status
- **View Applicants**: Access detailed applicant information
- **Manage Applications**: Track and control job applications#### Platform Configuration
- **Service Fee Management**: Update platform transaction fees
- **Funds Withdrawal**: Manage platform-accumulated funds
- **Job Monitoring**: Full visibility into all job listings#### Key Authorization Mechanisms
- Role-based access control
- Granular permission settings
- Secure transaction validation
- Transparent administrative actions### Role Assignment
- 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### Access Control Principles
- Granular permission management
- Secure role-based access
- Flexible administrative controls
- Transparent role assignment## 📋 Job Posting Attributes
- Unique job ID
- Employer address
- Organization details
- Job description
- Custom fields
- Salary range
- Work mode
- Job type## 🔍 Application Workflow
1. Job Posting
2. Application Submission
3. Application State Management
- Submitted
- Reviewed
- Email Sent
- Closed## 💻 Tech Stack
- Solidity
- Ethereum
- IPFS
- Next.js
- Hardhat
- Wagmi
- RainbowKit## 🚧 Planned Enhancements
- Advanced job matching algorithms
- Reputation scoring system
- Enhanced communication tools
- Skill verification mechanisms## 📦 Installation
### Prerequisites
- Node.js 16+
- Ethereum Wallet
- Hardhat### Setup
```bash
# Clone the repository
git clone https://github.com/MujeebSulayman/Web3-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
```## 🤝 Contributing
1. Fork the repository
2. Create your feature branch
3. Commit your changes
4. Push to the branch
5. Create a new Pull Request## 📄 License
This project is licensed under [MIT] - see the LICENSE file for details.## 💡 Contact
- Project Developer: Mujeeb Sulayman
- Email: [email protected]
- Twitter: [@thehemjay](https://x.com/thehemjay)---
**Disclaimer**: HemBoard is a decentralized application. Always do your own research and understand the risks involved in blockchain technologies.