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: 9 packages by
Country: Nigeria Nigeria
Age: ???
All time rank: 293418 in Nigeria Nigeria
Week rank: 212 Up5 in Nigeria Nigeria Up
Innovation award
Innovation award
Nominee: 7x


  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
All time users: 80 users
All time rank: 9882
Week users: 0 users
Week rank: 189 Equal
 
  Groups   Rate classes User ratings   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
Number 8
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

  User ratings  
Not yet rated by the users

  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

  Files folder image Files  /  .idea  
File Role Description
  Accessible without login Plain text file job_portal_api.iml Data Auxiliary data
  Accessible without login Plain text file modules.xml Data Auxiliary data
  Accessible without login Plain text file vcs.xml Data Auxiliary data
  Accessible without login Plain text file workspace.xml Data Auxiliary data

  Files folder image Files  /  logs  
File Role Description
  Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files  /  public  
File Role Description
  Accessible without login Plain text file .htaccess Data Auxiliary data
  Accessible without login Plain text file index.php Example Example script

  Files folder image Files  /  src  
File Role Description
Files folder imagedb (2 files)
Files folder imageservices (3 files)
  Accessible without login Plain text file dependencies.php Example Example script
  Accessible without login Plain text file middleware.php Example Example script
  Accessible without login Plain text file routes.php Aux. Auxiliary script
  Accessible without login Plain text file settings.php Aux. Auxiliary script
  Plain text file Utilities.php Class Class source

  Files folder image Files  /  src  /  db  
File Role Description
  Plain text file connect.php Class Class source
  Plain text file methods.php Class Class source

  Files folder image Files  /  src  /  services  
File Role Description
  Accessible without login Plain text file Employer.php Example Example script
  Accessible without login Plain text file Freelancer.php Example Example script
  Accessible without login Plain text file Jobs.php Example Example script

  Files folder image Files  /  templates  
File Role Description
  Accessible without login Plain text file index.phtml Data Auxiliary data

  Files folder image Files  /  tests  
File Role Description
Files folder imageFunctional (2 files)

  Files folder image Files  /  tests  /  Functional  
File Role Description
  Plain text file BaseTestCase.php Class Class source
  Plain text file HomepageTest.php Class Class source

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.