Dashtam Documentation¶
Dashtam is a secure financial data aggregation platform built with hexagonal architecture, CQRS, and domain-driven design in Python.
Core Architecture¶
Six foundational pillars:
| Pattern | Description |
|---|---|
| Hexagonal Architecture | Domain at center, zero framework dependencies, ports & adapters |
| Protocol-Based Design | Structural typing with Python Protocol, no inheritance |
| CQRS | Separate command (write) and query (read) handlers |
| Domain-Driven Design | Entities, value objects, domain events for critical workflows |
| Registry Pattern | Auto-wiring with self-enforcing tests (events, routes, rate limits) |
| Dependency Injection | Centralized container, protocol-first design |
Documentation Structure¶
Architecture — 34 docs covering patterns, infrastructure, security, domain models
API Reference — 15 docs for all REST endpoints (auth, accounts, providers, transactions)
Guides — 17 practical how-to guides (releases, providers, error handling)
Code Reference — Auto-generated from Python docstrings
Key Features¶
- Clean Architecture — 100% hexagonal with protocol-based ports & adapters
- Production Security — JWT + opaque refresh tokens, Casbin RBAC, PCI-DSS audit trails
- Multi-Provider — OAuth (Schwab), API Key (Alpaca), File Import (Chase)
- Modern Python — Python 3.14, FastAPI, Pydantic v2, Result types
- Comprehensive Testing — 2,273 tests, 87% coverage
Technology Stack¶
| Component | Technology |
|---|---|
| Language | Python 3.14, UV 0.9.21 |
| Framework | FastAPI, Pydantic v2 |
| Database | PostgreSQL 17.7, async SQLAlchemy |
| Cache | Redis 8.4 |
| Infrastructure | Docker Compose, Traefik, Alembic |
| CI/CD | GitHub Actions, Codecov |
Quick Start¶
# Prerequisites: Docker, Make
sudo sh -c 'echo "127.0.0.1 dashtam.local" >> /etc/hosts'
# Start Traefik (one-time)
git clone git@github.com:faiyazhaider/docker-services.git ~/docker-services
cd ~/docker-services && make traefik-up
# Clone and run
git clone https://github.com/faiyaz7283/Dashtam.git
cd Dashtam
make setup && make dev-up
# Verify
curl -k https://dashtam.local/health
Essential Reading¶
New to Dashtam? Start here:
- Hexagonal Architecture — Core pattern
- Protocols — Why Protocol over ABC
- Error Handling — RFC 9457, Result types
- Registry Pattern — Auto-wiring, self-enforcing tests
- Release Management — Git flow, versioning
Development¶
make dev-up # Start environment
make test # Run all tests
make verify # Full CI suite
make docs-serve # Live documentation
Workflow: Feature branch → Plan → Implement → Test (85%+) → PR to development
Principles: Hexagonal architecture | Protocol-based | Result types | 100% REST
Created: 2025-11-13 | Last Updated: 2026-01-10