A small Rails app for managing candidate workflows and reviews.
- Candidate and stage management
- JWT-based login and API endpoints
- Reviewer roles: assoc, lead, veto
- Workflow policies: configure policy (JSON) that controls whether a decision advances the candidate to the next stage or allows rollback when a "cancelled" quorum is met
- POST /api/login
- POST /api/candidate/workflow — submit reviewer decision
- GET /api/candidate/journey/:candidate_id — workflow journey for a candidatePOST /api/candidate/workflow
body:
{
"phase": "passed",
"candidate_id": 1,
"stage_id": 2,
"feedback": "Good"
}- Install dependencies:
bundle install - Set env vars:
RAILS_DB_USERNAME,RAILS_DB_PASSWORD,SECRET_KEY_BASE - DB setup:
rails db:create db:migrate db:seed - Start server:
bin/rails server
- Run all tests:
bin/rails test - Run a single file:
bin/rails test test/controllers/candidate_workflow_controller_test.rb
MIT
