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

129 lines
4.0 KiB
Markdown

# MerchantsOfHope.org Recruiting Platform
This is the official recruiting platform for MerchantsOfHope.org, designed to connect talented professionals with opportunities across TSYS Group's diverse business lines.
## Architecture Overview
The platform implements a multi-tenant architecture to support TSYS Group's dozens of independent business lines, each with complete data isolation. Key features include:
- Multi-tenant architecture with data isolation
- OIDC and social media login support
- Job seeker functionality (browse positions, apply, upload resumes)
- Job provider functionality (manage positions, applications)
- Full accessibility compliance (WCAG 2.1 AA standards)
- Security compliance (PCI, GDPR, SOC, FedRAMP)
## Technology Stack
- Backend: Go with Gin framework
- Database: PostgreSQL with GORM
- Authentication: OIDC and OAuth2
- Session Management: Redis
- Frontend: HTML/CSS/JS with accessibility focus
- Containerization: Docker and Docker Compose
## Security & Compliance
The platform implements several security measures to ensure compliance with industry standards:
- PCI DSS compliance for handling any sensitive data
- GDPR compliance for EU data protection
- SOC 2 compliance for security, availability, and privacy
- FedRAMP compliance for government cloud requirements
- Content Security Policy (CSP) headers
- Rate limiting and audit logging
- Secure authentication with OIDC
- Data residency controls
## Project Structure
```
qwen/go/
├── cmd/
├── api/
├── db/ # Database connection and migrations
├── models/ # Data models
├── middleware/ # Authentication and authorization
├── handlers/ # HTTP request handlers
├── services/ # Business logic
├── utils/ # Utility functions
├── config/ # Configuration management
├── security/ # Security controls and compliance
├── templates/ # HTML templates
├── static/ # Static assets (CSS, JS, images)
├── tests/ # Test files
├── main.go # Entry point
├── go.mod, go.sum # Go modules
├── Dockerfile # Container configuration
└── docker-compose.yml # Service orchestration
```
## Running the Application
The application is designed to run in Docker containers. To start the application:
1. Ensure Docker and Docker Compose are installed
2. Navigate to the `qwen/go` directory
3. Run `docker-compose up --build`
The application will be available at `http://localhost:17000`.
## API Endpoints
- `GET /health` - Health check
- `POST /api/v1/auth/login` - User login
- `POST /api/v1/auth/register` - User registration
- `GET /api/v1/positions` - Browse job positions
- `POST /api/v1/positions` - Create job position (job providers)
- `POST /api/v1/applications` - Apply to position
- `POST /api/v1/resumes` - Upload resume
## Compliance Features
The platform includes several features to ensure compliance with regulatory requirements:
### GDPR Compliance
- Data residency controls
- User consent mechanisms
- Right to deletion implementations
- Privacy policy integration
### Security Controls
- Role-based access control
- API rate limiting
- Content security policy
- Audit logging
- Secure authentication
### Accessibility
- WCAG 2.1 AA compliance
- Semantic HTML structure
- Proper ARIA labels
- Keyboard navigation
- Sufficient color contrast
## Development
To run tests:
```bash
go test ./tests/...
```
For local development, you can run the application directly:
```bash
go run main.go
```
Note: This requires Go 1.21+, PostgreSQL, and Redis to be installed and running locally.
## Deployment
The platform is designed for containerized deployment. The docker-compose.yml file includes all necessary services:
- Application server
- PostgreSQL database
- Redis for session management
- Nginx as reverse proxy
- Keycloak for OIDC
For production deployment, ensure all security configurations are properly set and consider using Kubernetes for orchestration.