- Main entry point:
__web__.py
- Startup configuration in
web/startup.py
- Component-based UI structure in
web/components/
- Page-based routing in
web/pages/
- Main entry point:
__cli__.py
- Commands:
- about
- products
- cli (main group)
- GraphQL client for Fibery API (
fibery/graphql.py
) - Rich model system for Fibery entities (
fibery/models.py
) - Features:
- Entity management
- Schema handling
- Database operations
- Custom Dremio dialect for database operations
- Product repository pattern for data access
- SQLModel-based ORM integration
- Main Dockerfile for application
- Docker Compose for development
- Dremio-specific Docker setup
- Python 3.11 base
- SQLModel for ORM
- Pydantic for data validation
- FastAPI/Reflex for web
- Typer for CLI
- pytest for testing
-
Web Interface
- Depends on: Dremio (for data), Fibery (for integration)
- Optional: Can run without Fibery
-
Console Interface
- Depends on: Dremio (for data)
- Optional: Can run basic commands without Dremio
-
Fibery Integration
- Independent module
- Required by: Web Interface (optional)
-
Dremio Integration
- Independent module
- Required by: Web Interface, Console Interface
- Project structure
- Python setup
- Docker configuration
- Testing infrastructure
-
Web Interface
- All web-related code
- Web-specific dependencies
- Web templates and static files
-
Console Interface
- CLI commands
- Console-specific dependencies
-
Fibery Integration
- GraphQL client
- Fibery models
- Fibery-specific configuration
-
Dremio Integration
- Custom dialect
- Repository implementations
- Dremio-specific configuration
This modular structure allows the cookiecutter template to generate projects with only the required components based on user selection.