Files
MOHPortalTest-AllAgents-All…/qwen/php/README.md

67 lines
2.0 KiB
Markdown

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