You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
branch management:
-> production branch (last production version with tag of latest release) -> auto commit creates a tag (not pushed into prod, only manually from github workflow -> workflow creates pull request into main rebase)
-> hotfix/someshing needs to be fixed
-> main branch (all stuff goes here)
-> (feature or bugfix)/example-button branch from develop branch (service will create feautre-env -> all from develop + service for feature, all other services auto updated) -> could be fast forward
add pipeline (python build with deps -> gitlab ci runner + cache)
init git branch production
Feature development
New features located at app.features module -> to create new feature you can use command poetry run feature <name>
This will create new folder with stub API and wired module inside app/init.py
Feature structure:
__init__.py - includes global instances that could not be initialized by container, like API of FastAPIAPIRouter instance
models.py - defines pydantic models for endpoints, DB objects and general object validation
tables.py - defines DB tables with keys, relations, indexes etc.
services.py - defines incapsulated part of reused or isolated part of logic
managers.py - defines aggregated flows using services,resources into business logic
containers.py - defines construction of all dependencies (services, managers, tables, etc.)
api.py - defines endpoints with injected container dependencies