An institutional data governance platform designed to enforce structured access control, approval workflows, audit traceability, and multi-tenant data isolation.
Backend runs in API-only mode (Django REST).
Frontend is implemented with Next.js.
DataAccessHub centralises governance over institutional datasets by combining:
- Role-based access control (RBAC)
- Field-level data permissions
- Configurable approval workflows
- Multi-tenant isolation
- Comprehensive audit logging
- REST API for integration
The system translates institutional policies into enforceable runtime controls.
┌──────────────────────────────────────────────┐
│ Frontend (Next.js) │
│ Dashboard • Approvals • Datasets • Roles │
└──────────────────────────────┬───────────────┘
│ REST API
┌──────────────────────────────▼───────────────┐
│ API Layer (DRF) │
│ JWT Auth • ViewSets • Versioned APIs │
└──────────────────────────────┬───────────────┘
│
┌──────────────────────────────▼───────────────┐
│ Governance Core Layer │
│ RBAC • Field Permissions • Approval Engine │
│ Multi-tenant Isolation • Audit Logging │
└──────────────────────────────┬───────────────┘
│
┌──────────────────────────────▼───────────────┐
│ Data Layer │
│ SQLite (dev) / PostgreSQL (prod) │
└──────────────────────────────────────────────┘
accounts— user management and JWT authenticationapprovals— multi-stage approval workflowsdatasets— dataset and field sensitivity configurationpermissions— RBAC and field-level policy enforcementaudit— system-wide audit loggingtenants— multi-tenant isolationapi/v1— versioned REST endpoints
DataAccessHub/
├── backend/ # Django REST API
├── frontend/ # Next.js UI
├── deployments/ # Docker + Nginx config
├── database/ # Fixtures and schema
├── docs/ # Diagrams and API docs
└── tests/ # Backend and integration tests- Role-based access control
- Field-level permission enforcement
- Tenant-based data isolation
- Configurable multi-stage approval workflows
- Status transitions with audit traceability
- Full audit logging of user and system actions
- API access tracking
- Compliance-oriented reporting
cd backend
pip install -r requirements-dev.txt
python manage.py migrate
python manage.py runserver 8003cd frontend
npm install
NEXT_PUBLIC_API_URL=http://localhost:8003/api/v1 npm run dev -- -p 3003Docker-based deployment:
docker-compose up -dFrontend: http://localhost:3003
Backend: http://localhost:8003
Swagger: http://localhost:8003/swagger/
MIT