Skip to content

0jonjo/alljobs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

539 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alljobs API

CI Maintainability

Overview

A JSON API for job search and talent acquisition. Candidates create profiles and apply for jobs. Headhunters post vacancies, review applications, star candidates, and exchange comments.

Stack: Ruby 3.4 · Rails 8.1 · PostgreSQL · JWT auth · Solid Queue

Requirements

  • Ruby 3.4.4 (managed via asdf)
  • PostgreSQL 16 (via Docker)

Local setup

git clone git@github.com:0jonjo/alljobs.git
cd alljobs

Install Ruby and gems:

asdf install
bundle install

Start the database:

docker compose up -d db

Create and migrate the database:

rails db:create db:migrate

Start the server:

rails server

Running tests

bundle exec rspec

Lint

bundle exec rubocop

API authentication

All endpoints (except /api/v1/auth_user and /api/v1/auth_headhunter) require a JWT token in the Authorization header.

Obtain a token:

POST /api/v1/auth_user
{ "email": "user@example.com", "password": "secret" }

POST /api/v1/auth_headhunter
{ "email": "hh@example.com", "password": "secret" }

Use the returned token:

Authorization: <token>

Main endpoints

Method Path Description
GET /api/v1/jobs List jobs (supports ?title= filter)
POST /api/v1/jobs Create job (headhunter)
GET /api/v1/jobs/:id Job detail
PUT/PATCH /api/v1/jobs/:id Update job
DELETE /api/v1/jobs/:id Archive job
GET /api/v1/jobs/:id/stars Stars for a job (headhunter)
GET/POST/DELETE /api/v1/jobs/:job_id/applies Candidatures
GET/POST/DELETE /api/v1/jobs/:job_id/applies/:apply_id/stars Star a candidature
GET/POST/DELETE /api/v1/jobs/:job_id/applies/:apply_id/comments Comments on a candidature
GET/POST/PUT /api/v1/profiles Candidate profiles

License

GPL-3.0

About

Job search and talent acquisition app. Recruiters post jobs and interact with candidates, while candidates create profiles, browse jobs, and submit applications.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages