The project is divided into two main components:
The frontend application is built using modern web technologies and is organized as a monorepo using Nx.
Directory structure:
apps/
- Contains the main application codelibs/
- Shared libraries and components.env
- Environment configurationdocker-compose-*.yaml
- Docker compose configurations for different environments
The backend is a Python-based application built with Django, featuring multiple services and modules.
Directory structure:
bc_obps/
- Core application codecommon/
- Shared utilities and componentsregistration/
- Registration servicereporting/
- Reporting servicerls/
- Row Level Security implementationservice/
- Main service layer
-
Framework:
- Next.js (React-based framework)
- React
-
Build & Development:
- Nx (Monorepo management)
- Node.js
- Yarn (Package management)
- TypeScript
- Babel (JavaScript compiler)
-
Testing & Quality:
- Playwright (E2E testing)
- ESLint (Code linting)
- Prettier (Code formatting)
- Happo (Visual regression testing)
- Vitest (Unit testing)
-
Styling:
- TailwindCSS
- PostCSS
-
Framework:
- Django (Python web framework)
- Django-Ninja (Fast and type-safe REST API framework)
- Python
-
Development & Build:
- Poetry (Python dependency management)
- Make (Build automation)
-
Testing & Quality:
- Pytest (Testing framework)
- Coverage.py (Code coverage)
- Bandit (Security linting)
- MyPy (Static type checking)
-
Containerization:
- Docker
- Docker Compose
-
Version Control:
- Git
- GitHub Actions (CI/CD)
- Pre-commit hooks
- Commitlint
-
Code Quality:
- SonarCloud (Code quality analysis)
- Gitleaks (Secret scanning)
- Multiple environment configurations (.env files)
- VSCode configuration and workspace settings
- Environment-specific Docker compositions
.tool-versions
- Version management for development tools.vscode/
- VSCode editor configurations- Various linting and formatting configurations for consistent code style
Last updated: January 28, 2025