# 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 1. Clone this repository 2. Run `composer install` to install dependencies 3. Copy `.env.example` to `.env` and update configuration 4. Build and run the Docker containers: ```bash docker-compose up --build ``` 5. 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: ```bash 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.