mitai-jinkendo/frontend
Lars 2303c04123
All checks were successful
Deploy Development / deploy (push) Successful in 49s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 14s
feat: filtered goal types - count specific training types
NEW FEATURE: Filter conditions for goal types
Enables counting/aggregating specific subsets of data.

Example use case: Count only strength training sessions per week
- Create goal type with filter: {"training_type": "strength"}
- count_7d now counts only strength training, not all activities

Implementation:
- Migration 026: filter_conditions JSONB column
- Backend: Dynamic WHERE clause building from JSON filters
- Supports single value: {"training_type": "strength"}
- Supports multiple values: {"training_type": ["strength", "hiit"]}
- Works with all 8 aggregation methods (count, avg, sum, min, max)
- Frontend: JSON textarea with example + validation
- Pydantic models: filter_conditions field added

Technical details:
- SQL injection safe (parameterized queries)
- Graceful degradation (invalid JSON ignored with warning)
- Backward compatible (NULL filters = no filtering)

Answers user question: 'Kann ich Trainingstypen wie Krafttraining separat zählen?'
Answer: YES! 🎯
2026-03-27 08:14:22 +01:00
..
public feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00
src feat: filtered goal types - count specific training types 2026-03-27 08:14:22 +01:00
Dockerfile feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00
index.html feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00
nginx.conf feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00
package-lock.json feat: implement v9c feature enforcement system 2026-03-20 12:43:41 +01:00
package.json feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00
vite.config.js feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00