Code Monkey home page Code Monkey logo

gurkirat155 / job-portal Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gkirat/job-portal

0.0 0.0 0.0 7 KB

Smart contract that connects unskilled and unorganized migrant workers with job providers. It can eliminate their exploitation by middlemen, such as unrecognized agents and contractors. A worker can register with the portal by creating their profile and uploading labor history, skills, availability, and other personal details.

License: MIT License

Solidity 100.00%

job-portal's Introduction

Ethereum Job Portal Smart Contract

Welcome to the Ethereum Job Portal Smart Contract repository. This smart contract aims to connect unskilled and unorganized migrant workers with job providers while eliminating the exploitation by middlemen. It allows workers to create profiles, apply for jobs, and receive ratings from job providers.

Overview

The Ethereum Job Portal Smart Contract is designed to facilitate the connection between job seekers (applicants) and job providers. It includes the following features:

  • Applicants are registered by admin with their profiles, including details such as name, experience, skills, and more.
  • Job providers can post new job listings with details like job title, description, salary, and experience requirements.
  • Applicants can apply for jobs they are interested in.
  • Job providers can hire applicants for their posted jobs.
  • Job providers can provide ratings for applicants they've hired.

Smart Contract Functions

Adding Applicants

  • addApplicant(string name, uint experience, string[] skills, address applicantAddress): Allows the admin to add new applicants to the portal. Applicants provide their name, experience, skills, and Ethereum address.

Getting Applicant Details

  • getApplicantDetails(uint256 applicantId): Retrieves detailed information about an applicant using their unique ID.

Adding Jobs

  • addJob(string title, string description, uint experienceNeeded, uint256 salary) payable: Enables job providers to post new job listings. Job providers pay 1 ether to list a job.

Getting Job Details

  • getJobDetails(uint256 jobId): Retrieves detailed information about a job using its unique ID.

Applying for Jobs

  • applyForJob(uint256 jobId): Allows applicants to apply for jobs they are interested in. It checks for applicant availability and prevents duplicate applications.

Hiring Applicants

  • hireApplicant(uint jobId, uint applicantId): Permits job providers to hire applicants that have applied for specific job. It marks the applicant as "unavailable" as they get hired.

Providing Ratings

  • provideRating(uint256 jobId, uint256 applicantId, uint256 rating): Lets job providers rate applicants they've hired. Ratings range from 1 to 5 and prevent double rating.

Usage

To interact with this smart contract, you can deploy it to the Ethereum network using tools like Remix or Hardhat. Make sure to have Ethereum accounts with Ether for gas fees.

To compile and deploy the contract, follow these steps:

  1. Clone this repository to your local machine using:
    git clone https://github.com/gkirat/Job-portal.git
  2. Install a development environment for Ethereum (e.g., Remix, Hardhat).
  3. Deploy the contract to the Testnet network.
  4. Interact with the contract using its functions.

Contributions

Contributions and improvements to this project are welcome. Please follow these steps to contribute:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and test thoroughly.
  4. Create a pull request with a clear description of the changes.

License

This Ethereum Job Portal Smart Contract is open-source and available under the MIT License. Feel free to use and modify it for your own projects.

Disclaimer

This smart contract is provided for educational purposes and as a starting point for building decentralized applications. Please be aware of the potential risks and security considerations when deploying and using smart contracts on the Ethereum blockchain.

Use this code responsibly and at your own risk.

Contact

If you have any questions or need assistance, feel free to contact me.

job-portal's People

Contributors

gkirat avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.