DGAP Senegal — portal and IS foundation
Overhaul of the portal of the Directorate General of the Prison Administration (Ministry of Justice) and the foundation of its information system: portal, online services, intranet and back-office.

The Directorate General of the Prison Administration (DGAP), under the Senegalese Ministry of Justice, wants to replace its current website with a modern institutional portal and lay a common foundation for its citizen e-services and internal tools, with strong security and accessibility requirements.
Deliver, block by block, a secure and reversible foundation: four applications sharing one API, a design system and one quality pipeline.
Full-stack design and development
Technologies- Django
- DRF
- React
- TypeScript
- PostgreSQL
- Celery
- MinIO
- Docker
- Nginx
Technical implementation
Architecture
Django REST Framework API; four React applications (Vite, TypeScript) in a pnpm workspace with a shared design system documented in Storybook.
Data and files
PostgreSQL 16, Celery for asynchronous jobs, MinIO for object storage.
Security
RBAC, MFA (TOTP), sub-domain segregation, security headers; intranet and back-office are not indexable.
Accessibility
RGAA 4 / WCAG 2.1 AA target, documented in the repository.
Infrastructure
Docker Compose and multi-site Nginx (portal, services, intranet, back-office), development TLS; 100% open source and reversible.
Quality
GitHub Actions and GitLab CI: lint, types, tests, build, dependency audit, Trivy image scan; OpenAPI 3.1 schema and architecture decision records (ADRs).
- I designed the architecture: a Django REST API and four React applications (portal, online services, intranet, back-office) in a pnpm workspace, with a shared design system.
- I implemented security: roles (RBAC), multi-factor authentication, access segregation and HTTP headers.
- I designed the e-services, including the competitive exam: applications with status tracking and payment.
- I set up the quality pipeline: CI, tests, dependency audit, image scanning and architecture documentation.
- Institutional portal
- Online services for citizens
- Exam e-service: application, payment, tracking
- Intranet reserved for staff
- Administration back-office
- Multi-factor authentication
- applications: portal, services, intranet, back-office
- MFAmulti-factor authentication
- 4 apps React → Nginx multi-sites
- Nginx multi-sites → Django REST
- Django REST → PostgreSQL 16
- Django REST → MinIO
- Django REST → Celery
- Docker · Linux → Nginx multi-sites
