MerchantsOfHope.org Recruiting Platform
This is the PHP implementation of the MerchantsOfHope.org recruiting platform for the Qwen coding agent test.
Overview
MerchantsOfHope.org is the consulting/contracting arm of TSYS Group. This platform handles:
- Multiple independent tenants (TSYS Group has dozens of lines of business, all fully isolated)
- OIDC and social media login
- Job seeker functionality (browsing positions, submitting applications)
- Job provider functionality (managing positions and applications)
- Full compliance with USA law, accessibility, PCI, GDPR, SOC, and FedRamp standards
Architecture
- PHP 8.2 with Slim framework
- PostgreSQL database with multi-tenant support
- Redis for session management and caching
- Docker containerization with docker-compose
- OIDC and social login integration
Setup
- Clone this repository
- Run
composer installto install dependencies - Copy
.env.exampleto.envand update configuration - Build and run the Docker containers:
docker-compose up --build - The application will be available at
http://localhost:20000
Development
- Follow Test Driven Development (TDD) approach
- Write tests in the
tests/directory - Run tests with
composer test
Multi-Tenant Architecture
Each tenant is isolated with:
- Separate data partitioning using tenant_id
- Subdomain-based routing
- Isolated configurations and permissions
Security & Compliance
- Implements OIDC for authentication
- Social login via Google and Facebook
- Implements accessibility standards (Section 508/WCAG)
- Secure password handling and session management
- Prepared for PCI, GDPR, SOC, and FedRamp compliance
Testing
Run the test suite:
composer test
Docker Containers
- Main application: qwen-php-merchants-of-hope (port 20000)
- PostgreSQL: qwen-php-postgres
- Redis: qwen-php-redis
The main application web interface is exposed on port 20000. All internal services communicate via the docker network.