# 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.