PHP Classes

PHP Job Portal Project API: API to post working jobs and let freelancers apply

Recommend this page to a friend!

  Author Author  
Picture of uche
Name: uche <contact>
Classes: 8 packages by
Country: Nigeria Nigeria
Innovation award
Innovation award
Nominee: 6x


  Detailed description   Download Download .zip .tar.gz  
This package provides an API to post working jobs and let freelancers apply.

It implements an API that can perform several services of interest to companies that provide jobs and professionals that may be interested in these jobs:

Currently, it provides API functions to:

- Register and login employers and freelancers

- Submit job postings

- Retrieve published jobs

- Submit a job proposal to a specific freelancer

- Retrieve job proposals

Details

Introduction

aDa is a job portal which connect company and expert freelancer/part-timer. It always keep track of freelancer performance, the more job freelancer completed the more benefit they gained. There are 2 ranks for freelancer with 2 different proposal space as monthly limit for submitting proposal. The ranks are: rank B with 20 pts and rank A with 40 pts.

Objective

This API was developed to: + Enable company to create and post job as well as view proposal for their job postings + Enable freelance to view jobs and submit proposal to it + Employer can create job post, then they can either save it as draft or publish it + Freelancer can view list of published jobs + Freelancer can only submit one proposal to any published job + Each application submitted by freelancer will reduce the proposal space by 2pts, so the rank B freelancer can only submit 10times max and rank A can submit 20times max + Employer can view proposal from freelancer for their job post

Documentation

Base URL ? localhost:8080 ApiKey is in the .env file

Create employer

/api/employer/register
Method ? POST
Body Parameters ? company_name, email, password

ApiKey must be passed to the header (with apiKey as the key) and content-type is json.

Login for employer

/api/employer/login Method ? POST Body Parameters ? email, password

ApiKey must be passed to the header (with apiKey as the key) and content-type is json.

Create freelancer

/api/freelancer/register
Method ? POST
Body Parameters ? name, email, password, rank_id
NB: rank_id can either be 1 or 2. 

ApiKey must be passed to the header (with apiKey as the key) and content-type is json.

Login for freelancer

/api/freelancer/login
Method ? POST
Body Parameters ? email, password

ApiKey must be passed to the header (with apiKey as the key) and content-type is json.

Add a job posting

/api/jobs/create
Method ? POST
Body parameters ? title, description, status_id, created_by

NB: status_id can either be 1 or 2, that is, published or draft respectively. created_by is the id of the employer

Token must be passed to the header (with token as the key) and content-type is json.

View all published jobs

/api/jobs/published
Method ? GET

Token must be passed to the header (with token as the key) and content-type is json.

Create a job proposal (for freelancer)

/api/jobs/proposal/create
Method ? POST
Body parameters ? proposal, job_id, freelancer_id

This endpoint ensures a freelancer does not exceed his monthly job proposals allocations.

Token must be passed to the header (with token as the key) and content-type is json.

Fetch all submitted proposals for a job

/proposals/{job_id}
Method ? GET

NB: job_id is the id of the job posted.

Token must be passed to the header (with token as the key) and content-type is json.

Other notes:

This API was written using the Slim framework. API endpoints are grouped into services ? Employer, Freelancer and Job, located in the src/services folder.

The .env file contains the API key and database configurations. The database schema can be found in the project root folder ? job_posting_schema.sql

To get started with testing this API, + clone or download source code (unzip) + Run composer install + cd to project folder + Run this command php -S localhost:8080 -t public public/index.php to start the server.

See https://www.slimframework.com/

Contact Me: radioactive.uche11@gmail.com


  Classes of uche  >  PHP Job Portal Project API  >  Download Download .zip .tar.gz  >  Support forum Support forum  >  Blog Blog (1)  >  RSS 1.0 feed RSS 2.0 feed Latest changes  

 

Name: PHP Job Portal Project API
Base name: job-portal
Description: API to post working jobs and let freelancers apply
Version: -
PHP version: 5
License: The PHP License
 
  Groups   Applications   Files Files  

  Groups  
Group folder image PHP 5 Classes using PHP 5 specific features View top rated classes
Group folder image Content management Components and tools to manage content View top rated classes
Group folder image Web services Web data clipping, SOAP or XML-RPC clients and servers View top rated classes


  Innovation Award  
PHP Programming Innovation award nominee
March 2022
Nominee
Vote
Many professionals work as freelancers to other companies to do the work they need.

Usually, freelancers don't know what jobs exist, nor do companies know how to find professionals that match their job requirements.

This package provides an API that implements a system to connect companies with jobs with professionals looking for work.

Since it is a generic job system API, you can adapt it to any activity area.

Manuel Lemos

  Applications that use this package  
No pages of applications that use this class were specified.

Add link image If you know an application of this package, send a message to the author to add a link here.

  Files folder image Files  
File Role Description
Files folder image.idea (4 files)
Files folder imagelogs (1 file)
Files folder imagepublic (2 files)
Files folder imagesrc (5 files, 2 directories)
Files folder imagetemplates (1 file)
Files folder imagetests (1 directory)
Accessible without login Plain text file .env Data Auxiliary data
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file composer.lock Data Auxiliary data
Accessible without login Plain text file CONTRIBUTING.md Data Auxiliary data
Accessible without login Plain text file docker-compose.yml Data Auxiliary data
Accessible without login Plain text file job_posting_schema.sql Data Auxiliary data
Accessible without login Plain text file phpunit.xml Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation

Download Download all files: job-portal.tar.gz job-portal.zip
NOTICE: if you are using a download manager program like 'GetRight', please Login before trying to download this archive.

For more information send a message to info at phpclasses dot org.