Hoppa till huvudinnehåll
Petanque Life

Goals & Development Plans

F06.07 13 features Planerad

I korthet

Goals & Development Plans is the SMART-goal engine that connects daily practice to long-term ambition. Players set personal and season goals, coaches assign and review them with feedback history, templates accelerate setup, multi-year player pathways frame the journey from beginner to elite, and skill radars plus before/after and head-to-head comparisons make every step of progress visible to the player and the coaching team.

Så fungerar det

A goal begins with Personal goal creation enforcing the SMART discipline: specific, measurable, achievable, relevant and time-bound. Each goal carries an achievable_reason field and an is_smart computed flag, so the platform can flag goals that are missing structural pieces. Goal categories — ranking target, technique improvement, competition count and fitness — keep goals organised and reportable.

Progress is captured in a structured progress_log via a POST /progress endpoint. Players add data points; a /progress-summary endpoint computes velocity and remaining distance, while milestones can be marked complete or skipped via /milestones/{index}/skip. When a goal is achieved, Goal completion celebrations and history surface celebration data through /achieve, write to /history/{player_id} and aggregate into /stats/{player_id}, so a player sees their own narrative arc and a coach sees patterns across their squad.

Season goals live as a special class — is_season_goal, season_year and a /season/{player_id} endpoint — letting a player declare an annual focus that sits above tactical micro-goals. Coach-assigned goals with feedback history adds the coach loop: a coach proposes a goal, it lands as coach_goal_status=PENDING, the player accepts via /accept or rejects via /reject, and the conversation continues in feedback_history. A /coach/{id}/assigned endpoint shows coaches their open assignments at a glance.

To reduce setup friction, Goal templates pre-configure common goals by level — beginner, club, regional, national — through a GoalTemplate model and /goal-templates/ CRUD plus instantiate. For long horizons, Development plan: long-term player pathway introduces PlayerPathway with /player-pathways/ CRUD, advance, criteria/meet and goal-linking, so a player's journey from U15 club to senior national squad is modelled as ordered stages with measurable criteria. Skill radar chart renders the five-axis profile (pointing, shooting, strategy, mental game, fitness) plus history, and Before/after comparison runs both per-goal (/comparison/{goal_id}) and player-vs-player (/comparison/player/{player_id}).

Centrala funktioner

  • SMART goal creation with achievable_reason, is_smart flag and category tagging
  • Progress log with milestones, summary endpoint and skip option
  • Achievement celebrations, history and per-player goal stats
  • Season goals plus coach-assigned goals with accept/reject and feedback history
  • Goal templates pre-configured by player level with instantiate action
  • Long-term player pathways with stages, criteria and goal linking
  • Skill radar over five axes plus before/after and head-to-head comparisons

I praktiken

Sara, a regional-level player, opens her plan in January. She picks the season goal template 'Reach top-100 national ranking' — instantly populated with measurable milestones and a deadline of December 31. Her coach Erik assigns her a technique goal: 'Improve carreau success from 22% to 35% by July.' Sara accepts; the feedback thread opens.

Each Sunday she posts a progress entry; the summary endpoint tells her she's on pace at 28% by April. The skill radar shows shooting climbing while strategy stalls. Erik adds a comment via feedback_history.

In July Sara hits 36% — the celebration fires, history records the milestone, and the before/after comparison shows her shooting axis up 14 points.

Features i detta subsystem

13
ID Status Funktioner
F06.07.01 Levererad Personal goal creation (SMART: specific, measurable, achievable, relevant, time-bound) — achievable_reason fält, is_smart computed flag ✅ PL-F0607a
F06.07.02 Levererad Goal categories: ranking target, technique improvement, competition count, fitness — ranking och technique tillagda ✅ PL-F0607a
F06.07.03 Levererad Goal progress tracking with milestones — progress_log, POST /progress, GET /progress-summary, POST /milestones/{index}/skip ✅ PL-F0607a
F06.07.04 Levererad Goal completion celebrations and history — celebrations-data vid /achieve, GET /history/{player_id}, GET /stats/{player_id} ✅ PL-F0607a
F06.07.05 Levererad Season goals (what do I want to achieve this year?) — is_season_goal, season_year, GET /season/{player_id} ✅ PL-F0607a
F06.07.06 Levererad Coach-assigned goals with feedback history — coach_goal_status, feedback_history, GET /coach/{id}/assigned, POST /accept, POST /reject ✅ PL-F0607b
F06.07.07 Levererad Goal templates (common goals pre-configured by level) — GoalTemplate model, /goal-templates/ CRUD + instantiate ✅ PL-F0607b
F06.07.08 Levererad Development plan: long-term player pathway — PlayerPathway model, /player-pathways/ CRUD + advance + criteria/meet + goal-linking ✅ PL-F0607b
F06.07.09 Levererad Skill radar chart (pointing, shooting, strategy, mental game, fitness) — GET /skill-radar/{player_id} med assessments + /history ✅ PL-F0607b
F06.07.10 Levererad Before/after comparison + player comparison — GET /comparison/{goal_id}, GET /comparison/player/{player_id} ✅ PL-F0607b
F06.07.11 Levererad Mentor-pairing-livscykel — statusmaskin PENDING_ACCEPTANCE → ACTIVE ↔ PAUSED → ENDED, mentor/mentee-validering, dual consent (request → accept), coaching.mentor.pairing.activated-webhook ✅ PL-T212
F06.07.12 Levererad One-tap mentor-session-loggning — MentorSessionLog med 5 session_types, mentee-acknowledge för passiv read-receipt, författar-only edit/delete ✅ PL-T212
F06.07.13 Levererad Matchningsalgoritm + veckodigest — MentorMatchingService (0.7 × overlap + 0.3 × capacity_factor, exklusion av kapacitets-fulla), MentorWorkspaceService.weekly_digest med should_send=session_count>0-gate, mentor-weekly-digest-tick Mon 07:00 ✅ PL-T212