Key Features¶
🏗️ Architecture & Design Patterns¶
- Domain-Driven Design (DDD): Clean architecture with clear domain boundaries
- CQRS Pattern: Command Query Responsibility Segregation for scalable operations
- Event Sourcing: State-based persistence
- 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: Observability with metrics and distributed tracing
- All-in-One OTEL Collector: Integrated telemetry collection and export
🐳 Development & Deployment¶
- Docker + Docker Compose: Complete local development stack
- 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) principles. It helps you write clean, testable code by providing building blocks for a modular architecture.