Skip to content

Welcome to the Starter AppΒΆ

This project is a template application that demonstrates how to build a modern web application using the neuroglia-python framework. It provides a solid foundation for building clean, scalable, and maintainable applications with Python.

Starter App demo

Online Documentation

Getting StartedΒΆ

To get started with the application, please refer to the Getting Started guide, which will walk you through the installation and setup process.

Key SectionsΒΆ

  • Architecture: Learn about the core concepts of the application's architecture and the neuroglia-python framework.
  • Security: Understand the dual authentication system, including session-based and JWT bearer token flows, plus authorization with OAuth2/OIDC.
  • Development: Find information on the development workflow, including the Makefile commands and documentation setup.
  • Deployment: Learn how to deploy the application using Docker and other related technologies.
graph TD
    subgraph "FastAPI Application"
        A["Controllers (API Layer)"] --> B["Mediator (Neuroglia)"];
        B --> C{"Handlers (Application Layer)"};
        C --> C1["Commands (Write)"];
        C --> C2["Queries (Read)"];
        C1 --> D["Repositories (Data Access)"];
        C2 --> D;
        D --> E["MongoDB (Persistence)"];
    end

πŸ› οΈ Technology StackΒΆ

BackendΒΆ

FrontendΒΆ

InfrastructureΒΆ

🀝 Contributing¢

This is a starter app template. When adapting for your project:

Keep the PatternsΒΆ

  • βœ… Authentication architecture
  • βœ… CQRS structure
  • βœ… Dependency injection setup
  • βœ… Frontend build pipeline
  • βœ… Docker development environment

Customize the DomainΒΆ

  • πŸ”§ Replace Task entities with your models
  • πŸ”§ Update UI components and styling
  • πŸ”§ Configure Keycloak realms and roles
  • πŸ”§ Adapt database schema
  • πŸ”§ Add your API endpoints

Extend as NeededΒΆ

  • βž• Additional auth providers
  • βž• More command/query handlers
  • βž• Event sourcing
  • βž• Background jobs
  • βž• API versioning

πŸ“š Additional ResourcesΒΆ

DocumentationΒΆ

πŸ†˜ Getting HelpΒΆ

  1. Check Common Issues
  2. Review relevant documentation section
  3. Search GitHub Issues
  4. Create a new issue with details

Ready to start? Head to the Docker Environment guide to get your development environment running!