Adding a New Feature
Step-by-step checklist for adding a new domain entity:
Backend
- [ ] Create SQLAlchemy model in
app/infrastructure/models/
- [ ] Register model in
app/infrastructure/models/__init__.py
- [ ] Generate migration:
make db-revision msg="add <entity>"
- [ ] Create domain entity in
app/domain/entities.py
- [ ] Create repository interface in
app/domain/repositories.py
- [ ] Create repository implementation in
app/infrastructure/repositories/
- [ ] Create application service in
app/application/
- [ ] Create Pydantic schemas in
app/schemas/
- [ ] Create API route in
app/api/
- [ ] Register route in
app/api/router.py
- [ ] Add dependency factory in
app/api/dependencies.py
- [ ] Write tests in
tests/
Frontend
- [ ] Add API client module in
src/api/
- [ ] Create Pinia store in
src/stores/
- [ ] Create list/form/detail views in
src/views/