the middle of the idiots
This commit is contained in:
@@ -49,4 +49,82 @@ This project implements:
|
||||
- GDPR compliance
|
||||
- SOC compliance
|
||||
- FedRAMP compliance
|
||||
- USA law compliance
|
||||
- USA law compliance
|
||||
|
||||
## API Documentation
|
||||
|
||||
### Authentication Endpoints
|
||||
- `POST /api/auth/login` - Authenticate user
|
||||
- `POST /api/auth/logout` - Logout user
|
||||
- `POST /api/auth/register` - Register new user
|
||||
- `GET /auth/google/callback` - Google OAuth callback
|
||||
- `GET /auth/github/callback` - GitHub OAuth callback
|
||||
|
||||
### Job Endpoints
|
||||
- `GET /api/jobs` - List all jobs with optional filters
|
||||
- `GET /api/jobs/{id}` - Get specific job
|
||||
- `POST /api/jobs` - Create new job (for job providers)
|
||||
- `PUT /api/jobs/{id}` - Update job (for job providers)
|
||||
- `DELETE /api/jobs/{id}` - Delete job (for job providers)
|
||||
- `GET /api/my-jobs` - Get jobs for current tenant (for job providers)
|
||||
|
||||
### Application Endpoints
|
||||
- `POST /api/applications` - Apply for a job
|
||||
- `GET /api/my-applications` - Get applications for current user
|
||||
- `GET /api/jobs/{id}/applications` - Get applications for a specific job (for job providers)
|
||||
|
||||
## Database Schema
|
||||
|
||||
The application uses PostgreSQL with the following main tables:
|
||||
- `tenants` - Stores tenant information
|
||||
- `users` - Stores user accounts
|
||||
- `jobs` - Stores job postings
|
||||
- `applications` - Stores job applications
|
||||
- `audit_logs` - Stores compliance audit logs
|
||||
|
||||
## Environment Variables
|
||||
|
||||
The application expects the following environment variables (defined in `.env`):
|
||||
- `APP_NAME` - Application name
|
||||
- `APP_VERSION` - Application version
|
||||
- `APP_ENV` - Environment (development, production)
|
||||
- `DEBUG` - Enable debug mode
|
||||
- `TIMEZONE` - Application timezone
|
||||
- `DB_HOST` - Database host
|
||||
- `DB_NAME` - Database name
|
||||
- `DB_USER` - Database user
|
||||
- `DB_PASS` - Database password
|
||||
- `DB_PORT` - Database port
|
||||
- `JWT_SECRET` - Secret for JWT tokens
|
||||
- `SESSION_LIFETIME` - Session lifetime in seconds
|
||||
- `TENANT_ISOLATION_ENABLED` - Enable tenant isolation
|
||||
- `ACCESSIBILITY_ENABLED` - Enable accessibility features
|
||||
- `GDPR_COMPLIANCE_ENABLED` - Enable GDPR compliance
|
||||
- `PCI_DSS_COMPLIANCE_ENABLED` - Enable PCI DSS compliance
|
||||
- `GOOGLE_CLIENT_ID` - Google OAuth client ID
|
||||
- `GOOGLE_CLIENT_SECRET` - Google OAuth client secret
|
||||
- `GITHUB_CLIENT_ID` - GitHub OAuth client ID
|
||||
- `GITHUB_CLIENT_SECRET` - GitHub OAuth client secret
|
||||
- `MAIL_HOST` - Mail server host
|
||||
- `MAIL_PORT` - Mail server port
|
||||
- `MAIL_USERNAME` - Mail server username
|
||||
- `MAIL_PASSWORD` - Mail server password
|
||||
- `MAIL_ENCRYPTION` - Mail server encryption method
|
||||
|
||||
## Docker Configuration
|
||||
|
||||
The application is configured to run with Docker and Docker Compose, including:
|
||||
- Application service
|
||||
- PostgreSQL database
|
||||
- Redis for caching/session storage
|
||||
- MailHog for development email testing
|
||||
- Nginx as a reverse proxy
|
||||
|
||||
## Kubernetes Deployment
|
||||
|
||||
The application is designed for Kubernetes deployment with:
|
||||
- Proper resource requests and limits
|
||||
- Health checks
|
||||
- Configuration via ConfigMaps and Secrets
|
||||
- Service definitions for internal and external access
|
||||
- Ingress configuration for routing
|
||||
Reference in New Issue
Block a user