67 lines
2.0 KiB
Markdown
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. |