A comprehensive data product management platform built with FastAPI, Neo4j, and React. Features AI-powered agents using LangGraph for automated data governance, quality monitoring, and incident response.
- Data Products Catalog: Manage and discover data products across your organization
- Data Contracts: Define producer-consumer agreements with SLA enforcement
- Data Lineage: Trace data flow and understand dependencies
- Quality Monitoring: Track data quality metrics and health scores
- Incident Management: Automated incident detection and AI-powered remediation
- Policy Enforcement: Define and enforce data governance policies
- AI Agents: Intelligent agents for discovery, Q&A, impact analysis, and self-healing
- Marketplace: Discover and subscribe to data products
dpos-ecommerce/
├── src/
│ ├── api/ # FastAPI backend
│ ├── agents/ # LangGraph AI agents
│ ├── graph/ # Neo4j graph database
│ ├── contracts/ # Data contract validation
│ ├── enforcement/ # Policy enforcement engine
│ ├── marketplace/ # Semantic search marketplace
│ └── observability/ # Metrics and monitoring
├── frontend/ # React + Vite frontend
├── tests/ # Test suites
├── scripts/ # Utility scripts
└── docs/ # Documentation
- Python 3.10+
- Node.js 18+
- Neo4j 5.x (optional, for full functionality)
- Ollama (optional, for AI embeddings)
cd dpos-ecommerce
# Create Python virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install Python dependencies
pip install -r requirements.txt
# Install frontend dependencies
cd frontend
npm install
cd ..Create a .env file in the project root:
# Neo4j Configuration
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=your_password
# Ollama Configuration (optional)
OLLAMA_BASE_URL=http://localhost:11434
# API Configuration
API_HOST=0.0.0.0
API_PORT=8000Windows:
scripts\start_all.batLinux/macOS:
./scripts/start_all.shBackend:
python scripts/start_backend.pyFrontend:
cd frontend
npm run dev- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
The platform includes several LangGraph-powered agents:
| Agent | Description |
|---|---|
| Discovery Agent | Discovers and catalogs data assets |
| Q&A Agent | Answers questions about data products |
| Impact Agent | Analyzes change impact across lineage |
| Healing Agent | Auto-remediates data quality issues |
| Steward Agent | Manages data quality assessments |
- Checkpointing: All agents support persistence and resumability
- Conditional Routing: Intelligent decision-making based on context
- Human-in-the-Loop: Support for human approval workflows
- Retry Policies: Automatic retry for transient failures
# Run all tests
pytest
# Run E2E tests
pytest tests/e2e -s
# Run with coverage
pytest --cov=src tests/GET /api/dashboard/stats- Get dashboard statistics
GET /api/products- List all productsGET /api/products/{id}- Get product detailsGET /api/products/{id}/health- Get product health score
GET /api/contracts- List all contractsGET /api/contracts/{id}/rules- Get contract rulesPOST /api/validate- Validate data against contract
GET /api/lineage/{product_id}- Get product lineageGET /api/lineage/{product_id}/impact- Get impact analysis
GET /api/incidents- List all incidentsPOST /api/incidents/{id}/handle- Handle incident with AI agent
POST /api/agents/discovery- Run discovery agentPOST /api/agents/qa- Run Q&A agentPOST /api/agents/impact- Run impact analysis agentPOST /api/agents/healing- Run healing agent
GET /api/marketplace/search?q={query}- Search marketplace
src/api/main.py- FastAPI application entry pointsrc/agents/enhanced_agents.py- LangGraph agent implementationssrc/graph/manager.py- Neo4j database managerfrontend/src/- React application source
# Format Python code
black src/ tests/
# Lint Python code
flake8 src/ tests/
# Format frontend code
cd frontend && npm run lintMIT License