Skip to main content
Petanque Life

Social & Community Engagement

F15.09 18 features

At a glance

Social and community engagement layers Strava-style social-sport mechanics onto petanque: rich activity sharing, kudos and comments on every moment, training logs with photos and video, private group challenges, one-tap club shoutouts, follow-graph-driven social discovery, end-to-end-encrypted in-app messaging and beautifully composed share-cards sized for every external network — turning solo training and casual play into a connected, shareable petanque life.

How it works

The social layer treats every meaningful petanque moment — a match played, a training session logged, a personal best, a badge earned, a photo posted — as an activity that flows into the social graph. Activities default to "followers only" but can be made public or restricted to a chosen list. Each activity supports kudos (a single-tap appreciation), comments and reactions, mirroring patterns players already know from fitness apps.

Training logs let players record practice sessions outside of formal competitions: duration, format, surface, partners, focus area (tirer drills, pointer drills, match play). Logs feed into XP, streaks, weekly summaries and personal bests. Photos and short videos can be attached and shared to followers or a chosen club channel.

Group challenges let a circle of friends or a club section create a private mini-leaderboard for a defined window — "play 10 matches in November", "highest weekly fantasy score", "most distinct venues visited this season". Club shoutouts is a one-tap broadcast that thanks a teammate, congratulates a member or highlights a moment, posted to the club feed and pushed to opted-in members.

Social discovery suggests players to follow based on the follow graph, shared clubs, geographic proximity and common competitions — "three players you played against last weekend", "five people from your club you don't follow yet". In-app messaging supports 1-on-1 and small-group chats with end-to-end encryption for private threads, attachment of activities and presence indicators. Moderation tools, reporting and block lists are built in.

Share cards generate beautifully composed images — a match result, a podium finish, a personal best, a fantasy score — sized for Instagram, Facebook, X, WhatsApp and Threads, with the player's chosen branding and the federation watermark. Universal links on every shared piece deep-link recipients into the relevant app screen, with a graceful fallback to the public web profile.

Key capabilities

  • Activity sharing for matches, training sessions, badges and personal bests
  • Kudos, comments and reactions on every activity
  • Training logs with duration, focus area, photos and video
  • Group challenges and private mini-leaderboards
  • Club shoutouts and broadcast thank-yous
  • Social discovery suggestions from the follow graph and proximity
  • In-app messaging plus share-card generation for every external network

In practice

A player wraps a Sunday morning training session — 90 minutes of tirer drills with two clubmates. They log it in five seconds, attach a slow-mo video of a perfect carreau, share to followers. By lunch they have 14 kudos and a comment from their regional coach.

They open the suggestions panel and follow three players they faced last weekend. In the afternoon a friend creates a group challenge: "most matches played in the next 14 days, top three split a coffee". They join with one tap.

A week later they hit a new personal best and the share-card generator produces a polished image they post to Instagram with one tap; the link drops two new followers into the app.

Features in this subsystem

18
ID Status Features
F15.09.01 Shipped PL-F1509a ✅ PL-F1509a
F15.09.02 Shipped PL-F1509a ✅ PL-F1509a
F15.09.03 Shipped PL-F1509a ✅ PL-F1509a
F15.09.04 Shipped PL-F1509a ✅ PL-F1509a
F15.09.05 Shipped PL-F1509b ✅ PL-F1509b
F15.09.06 Shipped PL-F1509b ✅ PL-F1509b
F15.09.07 Shipped PL-F1509b ✅ PL-F1509b
F15.09.08 Shipped PL-F1509b ✅ PL-F1509b
F15.09.09 Planned PL-T098 (legacy) Group membership — legacy auto-provision per klubb byggs INTE; rebuilden: montering på valfri nod eller direkt under förbundet, medlemskap för vem som helst med en identitet, se F15.14.13
F15.09.10 Planned PL-T098 (legacy) Nested comments (max djup 2) med @-mentions och reaktioner — se F15.14.14
F15.09.11 Planned PL-T098 (legacy) Moderator-roller + ban + promote/demote med admin-only guards — se F15.14.13; sedan m-6 dessutom förbundets moderator (social:moderate, systemmallen social_moderator, tenant- eller nodskopad) och operatörens läs-only-insyn med safeguarding-eskalering (/v1/sys/social/{overview,cases}, sys.social.safeguard)
F15.09.12 Planned PL-T098 (legacy) Join request-flöde (join_policy=request, oavsett nivå) — se F15.14.13
F15.09.13 Planned PL-T098 (legacy) Content report på inlägg/kommentarer/meddelanden → ETT ärende per innehåll, tröskeln (3 rapportörer) döljer provisoriskt, moderatorns åtgärd (mark_safe|hide|delete|anonymize_author) genom ägarnas sömmar med audit; förbundets F1-6-granskning av tävlingsriktade lagannonser (team_listing_publish); rapportörens radering + 365-dygnsgallringen — se specs/api/endpoints/social-moderation.md, sys-social.md, social-team-listings.md §Annonsmoderering. Förbundets modereringskö i arrangörsappen (D-ADMINAPP 94f74ebf.m-14.t-8): admin-ytan /moderering (kön, grupperna, policyväxeln) är flyttad till packages/shared/src/views/social/moderering med två renderare och nås i arrangörsappen på /moderering med samma kontrakt (MOD_TESTIDS), samma URL-state (?flik=&arende=… läst och skriven i båda) och samma allowed_actions-dom — spelarappens *Rapportera* och modereringspanel är orörda; vy-spec specs/arrangor/views/moderering.md
F15.09.14 Planned PL-T098 (legacy) Per-grupp settings (visibility, who-can-post, join_policy, push_policy, åldersgräns; profanity-flaggan lagras, effekten är 0154301b.m-6) — se F15.14.13
F15.09.15 Planned PL-T098 (legacy) Fan-out policy (members/mentions-only/off) genom jobbet group_post_fanout och D-COMM:s pipe (in_app; push ägs av D-PUSH) — se F15.14.15
F15.09.16 Planned PL-T098 (legacy) GDPR: författaren anonymiseras (»Raderad användare«), tråden står kvar, foton rivs — se F15.14.16
F15.09.17 Shipped PL-T286 ✅ PL-T286
F15.09.18 Shipped PL-T286 ✅ PL-T286