Skip to content

XiaoyuQian829/DataAccessHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DataAccessHub

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.


System Overview

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.


Layered Architecture

┌──────────────────────────────────────────────┐
│                 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)          │
└──────────────────────────────────────────────┘

Core Modules (Backend)

  • accounts — user management and JWT authentication
  • approvals — multi-stage approval workflows
  • datasets — dataset and field sensitivity configuration
  • permissions — RBAC and field-level policy enforcement
  • audit — system-wide audit logging
  • tenants — multi-tenant isolation
  • api/v1 — versioned REST endpoints

Project Structure (High-Level)

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

Key Capabilities

Access Governance

  • Role-based access control
  • Field-level permission enforcement
  • Tenant-based data isolation

Decision Governance

  • Configurable multi-stage approval workflows
  • Status transitions with audit traceability

Accountability

  • Full audit logging of user and system actions
  • API access tracking
  • Compliance-oriented reporting

Development Setup

Backend

cd backend
pip install -r requirements-dev.txt
python manage.py migrate
python manage.py runserver 8003

Frontend

cd frontend
npm install
NEXT_PUBLIC_API_URL=http://localhost:8003/api/v1 npm run dev -- -p 3003

Deployment

Docker-based deployment:

docker-compose up -d

Frontend: http://localhost:3003
Backend: http://localhost:8003
Swagger: http://localhost:8003/swagger/


License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors