Skip to content

Key Features

🏗️ Architecture & Design Patterns

  • Domain-Driven Design (DDD): Clean architecture with clear domain boundaries
  • CQRS Pattern: Command Query Responsibility Segregation for scalable operations
  • Domain Events: Rich event model for worker lifecycle & telemetry (broadcast via SSE)
  • SubApp Pattern: Clean separation between API and UI concerns
  • Repository Pattern: Pluggable data access with in-memory and MongoDB implementations

🔐 Authentication & Security

  • OAuth2/OIDC: Modern authentication standards
  • Keycloak Integration: Enterprise-grade identity management
  • Backend-for-Frontend (BFF): Secure session-based authentication for UI
  • JWT Bearer Tokens: API authentication with RS256 signature verification
  • RBAC: Role-based access control at the application layer
  • Redis Session Store: Distributed sessions for horizontal scaling in Kubernetes

🎨 Frontend & UI

  • Parcel Bundler: Zero-config build tool with hot module replacement
  • Nunjucks Templates: Powerful templating engine
  • Bootstrap 5: Modern responsive UI framework
  • SCSS: CSS preprocessing for maintainable styles
  • Vanilla ES6: Modern JavaScript modules without heavy frameworks
  • Single Page Application (SPA): Smooth user experience with dynamic content

🔧 Backend & Infrastructure

  • FastAPI: High-performance async web framework
  • Neuroglia: DDD/CQRS framework with Mediator pattern
  • MongoDB with Motor: Async document database
  • Mongo Express: Web-based database management
  • CloudEvents: Standardized event format with Player for debugging
  • OpenTelemetry: Metrics & distributed tracing for workers and background jobs
  • OTEL Collector: Integrated pipeline for metrics/traces export
  • Server-Sent Events (SSE): Real-time push of worker metrics, status, labs, lifecycle events

🔄 Real-Time & Monitoring

  • SSE Endpoint: /api/events/stream with heartbeat + reconnection support
  • Event Types: worker.created, worker.status.updated, worker.metrics.updated, worker.labs.updated, worker.terminated
  • Labs Refresh Job: Recurrent global job (labs-refresh-global) runs every 30 minutes + initial startup run
  • Metrics Polling: Configurable interval for AWS/CML metrics collection
  • Status Badge: Live connection indicator in Workers UI
  • Admin Services Menu: Quick access to Grafana, Event Player, and Identity Management for admins

🐳 Development & Deployment

  • Docker + Docker Compose: Complete local development stack
  • Production Stack: Hardened Docker Compose setup with Nginx, Keycloak, and Observability
  • Observability Stack: Full OTEL pipeline with Prometheus, Loki, Tempo, and Grafana dashboards
  • Poetry: Modern Python dependency management
  • pytest: Comprehensive test suite with 98% coverage
  • Black + Ruff: Code formatting and linting
  • MkDocs Material: Beautiful documentation site
  • Makefile Automation: Simple commands for common development tasks
  • GitHub Template: Project renaming utility (scripts/rename_project.py) for quick customization

About Neuroglia-Python

Neuroglia-python is a framework for building applications based on Domain-Driven Design (DDD) and Command Query Responsibility Segregation (CQRS). It provides composable building blocks (Mediator, Repositories, Mapping, Observability) enabling testable modular architecture.

  • Framework Documentation: https://bvandewe.github.io/pyneuro/