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

4.0 KiB

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:

go test ./tests/...

For local development, you can run the application directly:

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.