Journal de coach de vie
Construire avec l'agent AI
Back-end de Journal de Coach de Vie

Modèle de Back-end de Journal de Coach de Vie
CoachUser, Client, GoalEntry, SessionNote, ProgressSnapshot, et AuditTrail

Un back-end de journal de coach de vie prêt pour la production sur Back4app avec CoachUser, Client, GoalEntry, SessionNote, ProgressSnapshot, et AuditTrail. Les coachs peuvent suivre les clients, enregistrer des notes de session, mesurer les instantanés de progrès, et revoir les actions du journal. Comprend un diagramme ER, un dictionnaire de données, un schéma JSON, un terrain de jeu API, et un prompt Agent IA pour une configuration rapide.

Points à retenir du journal

Ce modèle vous offre un backend de journal de coach de vie avec CoachUser, Client, GoalEntry, SessionNote, ProgressSnapshot et AuditTrail afin que les coachs puissent garder la chronologie des clients claire et attribuable.

  1. Suivi des objectifs par clientStockez chaque GoalEntry avec un pointeur client, un titre, une catégorie, un statut, une priorité, et une targetDate pour des plans de coaching ciblés.
  2. Chronologie des notes de sessionCapturez les enregistrements SessionNote avec client, sessionDate, noteText, actionItems, mood et coach afin que chaque note reste liée à la réunion.
  3. Snapshots de progrès pour les graphiquesUtilisez des entrées ProgressSnapshot avec client, objectif, capturedAt, progressScore, milestoneLabel et chartValues pour alimenter les vues de progrès visuelles.
  4. Historique compatible avec les auditsEnregistrer les lignes AuditTrail pour GoalEntry, SessionNote, ProgressSnapshot et les changements de Client afin que chaque action ait un horodatage enregistré.
  5. Backend de coaching multiplateformeServir les clients mobiles et web via une API REST et GraphQL pour CoachUser, Client, GoalEntry, SessionNote, ProgressSnapshot et AuditTrail.

Aperçu du backend du journal de coach de vie

Le véritable coût dans le journal de coach de vie est le changement de contexte : reconstruire l'histoire pour chaque réunion parce que les notes sont fragmentées à travers les outils. Le coût apparaît dans les rappels et les crédits. Ce modèle modélise les entités centrales avec un accès basé sur les rôles sur Back4app afin que chaque membre de l'équipe du journal de coach de vie voit la partie du pipeline qu'il possède. Le schéma couvre CoachUser, Client, GoalEntry, SessionNote, ProgressSnapshot et AuditTrail avec des requêtes amicales pour l'authentification et la chronologie intégrées. Connectez votre frontend préféré et avancez plus vite.

Meilleur pour :

Applications de journalisation pour coach de vieOutils de définition des objectifs et de responsabilitéSystèmes de prise de notes de sessionTableaux de visualisation des progrèsDossiers de coaching chronologiquesÉquipes choisissant BaaS pour les produits de coaching

Ce que vous obtenez dans le modèle de Journal de Coach de Vie

La plupart des erreurs de journal de coach de vie sont ennuyeuses : un horodatage manqué, une ligne dupliquée, ou un compte qui était correct hier et incorrect aujourd'hui.

Que vous livriez pour le web ou mobile, la gestion des utilisateurs et des clients de coach, la saisie des objectifs et la priorisation, le suivi des notes de session restent l'épine dorsale — cette page est le moyen le plus rapide d'aligner les parties prenantes.

Fonctionnalités principales du journal

Chaque carte technologique de ce hub utilise le même schéma de journal de coaching avec CoachUser, Client, GoalEntry, SessionNote, ProgressSnapshot et AuditTrail.

Gestion des CoachUser et des Clients

CoachUser stocke le nom d'utilisateur, l'email, le nom affiché et le rôle, tandis que Client stocke le nom complet, l'email, le statut et le coach.

Définition et priorisation des Objectifs

GoalEntry lie un client avec le titre, la catégorie, le statut, la priorité, la date cible et celui qui a créé.

Suivi de SessionNote

SessionNote capture le client, la date de session, le texte de note, les actions à suivre, l'humeur et le coach.

Enregistrements d'AuditTrail

AuditTrail stocke l'acteur, le client, le type d'entité, l'identifiant d'entité, l'action et la date d'enregistrement.

Visualisations de ProgressSnapshot

ProgressSnapshot capture le client, l'objectif, la date de capture, le score de progression, l'étiquette de milestone et les valeurs de graphique pour le graphique.

Chronologie de coaching chronologique

Utilisez SessionNote, ProgressSnapshot et AuditTrail ensemble pour reconstruire l'historique de chaque client.

Pourquoi construire le backend de votre journal de coach de vie avec Back4app ?

Back4app vous donne des primitives CoachUser, Client, GoalEntry, SessionNote, ProgressSnapshot et AuditTrail pour que votre équipe puisse se concentrer sur les flux de travail de coaching plutôt que sur l'infrastructure.

  • Structure Client et GoalEntry: Client conserve fullName, email, status et coach, tandis que GoalEntry conserve title, category, priority, targetDate et status dans un format facile à interroger.
  • Continuité de SessionNote et AuditTrail: Liez chaque ligne de SessionNote et AuditTrail à un Client et CoachUser afin que chaque observation et changement reste attribuable.
  • Instantanés de progrès en temps réel: Utilisez Live Queries sur ProgressSnapshot et AuditTrail pour mettre à jour les graphiques et les chronologies au moment où un coach les enregistre.

Créez et itérez rapidement sur les fonctionnalités du journal de coaching avec un seul contrat backend sur toutes les plateformes.

Avantages du journal

Un backend de journal de coach de vie qui garde les enregistrements de coaching lisibles, attribuables et faciles à revisiter.

Configuration rapide des objectifs

Commencez avec un schéma complet de GoalEntry avec client, titre, catégorie, statut, priorité, date cible et créé par au lieu d'inventer des champs plus tard.

Examens de session plus clairs

Utilisez SessionNote avec ProgressSnapshot pour pouvoir rouvrir le contexte de coaching exact avant un appel de suivi.

Visualisation des progrès prête

Stockez les lignes ProgressSnapshot avec progressScore, milestoneLabel et chartValues qui correspondent directement aux graphiques et aux lignes de tendance.

L'attribution reste intacte

Conservez CoachUser, createdBy, coach, actor, entityType et entityId dans le modèle d'enregistrement afin que les notes soient traçables.

Historique client chronologique

Interrogez Client, GoalEntry, SessionNote, ProgressSnapshot et AuditTrail par client et date pour reconstruire la chronologie du coaching.

Bootstrap assisté par IA

Générez rapidement des échafaudages backend et des conseils d'intégration avec une invite structurée.

Prêt à lancer votre application de journal de coach de vie ?

Laissez l'agent IA de Back4app structurer votre backend de coaching et générer les flux CoachUser, Client, GoalEntry, SessionNote, ProgressSnapshot et AuditTrail à partir d'une seule invite.

Gratuit pour commencer — 50 invites d'agent IA/mois, sans carte de crédit requise

Pile technologique du journal

Tout inclus dans ce modèle de backend de journal de coach de vie.

Frontend
13+ technologies
Backend
Back4app
Base de données
MongoDB
Auth
Authentification intégrée + sessions
API
REST et GraphQL
Temps réel
Live Queries

Diagramme ER du journal

Modèle de relation d'entité pour le schéma de journal du coach.

Voir la source du diagramme
Mermaid
erDiagram
    CoachUser ||--o{ Client : "coach"
    CoachUser ||--o{ GoalEntry : "createdBy"
    CoachUser ||--o{ SessionNote : "coach"
    CoachUser ||--o{ ProgressSnapshot : "createdBy"
    CoachUser ||--o{ AuditTrail : "actor"
    Client ||--o{ GoalEntry : "client"
    Client ||--o{ SessionNote : "client"
    Client ||--o{ ProgressSnapshot : "client"
    Client ||--o{ AuditTrail : "client"
    GoalEntry ||--o{ ProgressSnapshot : "goal"

    CoachUser {
        String objectId PK
        String username
        String email
        String password
        String displayName
        String role
        Date createdAt
        Date updatedAt
    }

    Client {
        String objectId PK
        String fullName
        String email
        String status
        String coachId FK
        Date createdAt
        Date updatedAt
    }

    GoalEntry {
        String objectId PK
        String clientId FK
        String title
        String category
        Date targetDate
        String status
        Number priority
        String createdById FK
        Date createdAt
        Date updatedAt
    }

    SessionNote {
        String objectId PK
        String clientId FK
        Date sessionDate
        String noteText
        Array actionItems
        String mood
        String coachId FK
        Date createdAt
        Date updatedAt
    }

    ProgressSnapshot {
        String objectId PK
        String clientId FK
        String goalId FK
        Date capturedAt
        Number progressScore
        String milestoneLabel
        Array chartValues
        String createdById FK
        Date createdAt
        Date updatedAt
    }

    AuditTrail {
        String objectId PK
        String actorId FK
        String clientId FK
        String entityType
        String entityId
        String action
        Date recordedAt
        Date createdAt
        Date updatedAt
    }

Flux de l'application Coach

Flux d'exécution typique pour la connexion, la liste des clients, l'entrée des objectifs, les notes de session et les instantanés de progression.

Voir la source du diagramme
Mermaid
sequenceDiagram
  participant Coach
  participant App as Life Coach Client Journal App
  participant Back4app as Back4app Cloud

  Coach->>App: Sign in
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  Coach->>App: Open client roster
  App->>Back4app: GET /classes/Client?include=coach&order=fullName
  Back4app-->>App: Clients with coach pointers

  Coach->>App: Add a goal for a client
  App->>Back4app: POST /classes/GoalEntry
  Back4app-->>App: GoalEntry objectId

  Coach->>App: Save session notes and progress snapshot
  App->>Back4app: POST /classes/SessionNote
  App->>Back4app: POST /classes/ProgressSnapshot
  Back4app-->>App: SessionNote and ProgressSnapshot ids

  App->>Back4app: Subscribe to live updates for the selected client
  Back4app-->>App: ProgressSnapshot and AuditTrail changes

Guide des champs

Référence complète au niveau des champs pour chaque classe dans le schéma du journal de coach de vie.

ChampTypeDescriptionRequis
objectIdStringAuto-generated unique identifierAuto
usernameStringCoach login name
emailStringCoach email address
passwordStringHashed password (write-only)
displayNameStringCoach display name shown in the journal app
roleStringRole of the user (e.g., coach, admin)
createdAtDateAuto-generated creation timestampAuto
updatedAtDateAuto-generated last-update timestampAuto

8 champs dans CoachUser

Permissions pour les dossiers de coaching

Comment la stratégie ACL et CLP sécurise les profils clients, les objectifs, les sessions et les notes de coaching privées.

Accès client

Limiter les lectures et mises à jour des clients afin que seul le CoachUser assigné puisse modifier une ligne client.

Limites des notes privées

Maintenir la visibilité des notes de session et les ACL alignées pour que les notes privées restent à l'intérieur du cercle de coaching prévu.

Enregistrements attribués

Valider acteur, client, typeD'entité, idD'entité, action et enregistréÀ dans le code Cloud avant d'enregistrer les lignes d'AuditTrail.

Schéma JSON

Définition du schéma JSON brut prête à être copiée dans Back4app ou utilisée comme référence d'implémentation.

JSON
{
  "classes": [
    {
      "className": "CoachUser",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "displayName": {
          "type": "String",
          "required": true
        },
        "role": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Client",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "fullName": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "coach": {
          "type": "Pointer",
          "required": true,
          "targetClass": "CoachUser"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "GoalEntry",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "client": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Client"
        },
        "title": {
          "type": "String",
          "required": true
        },
        "category": {
          "type": "String",
          "required": true
        },
        "targetDate": {
          "type": "Date",
          "required": false
        },
        "status": {
          "type": "String",
          "required": true
        },
        "priority": {
          "type": "Number",
          "required": true
        },
        "createdBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "CoachUser"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "SessionNote",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "client": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Client"
        },
        "sessionDate": {
          "type": "Date",
          "required": true
        },
        "noteText": {
          "type": "String",
          "required": true
        },
        "actionItems": {
          "type": "Array",
          "required": false
        },
        "mood": {
          "type": "String",
          "required": false
        },
        "coach": {
          "type": "Pointer",
          "required": true,
          "targetClass": "CoachUser"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "ProgressSnapshot",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "client": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Client"
        },
        "goal": {
          "type": "Pointer",
          "required": true,
          "targetClass": "GoalEntry"
        },
        "capturedAt": {
          "type": "Date",
          "required": true
        },
        "progressScore": {
          "type": "Number",
          "required": true
        },
        "milestoneLabel": {
          "type": "String",
          "required": true
        },
        "chartValues": {
          "type": "Array",
          "required": false
        },
        "createdBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "CoachUser"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "AuditTrail",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "actor": {
          "type": "Pointer",
          "required": true,
          "targetClass": "CoachUser"
        },
        "client": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Client"
        },
        "entityType": {
          "type": "String",
          "required": true
        },
        "entityId": {
          "type": "String",
          "required": true
        },
        "action": {
          "type": "String",
          "required": true
        },
        "recordedAt": {
          "type": "Date",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

Construire avec l'agent IA

Utilisez l'agent IA Back4app pour générer une application de journal de coach de vie réelle à partir de ce modèle, y compris le frontend, le backend, l'authentification et les flux d'objectifs, de sessions, de notes et de progrès.

Agent IA Back4app
Prêt à construire
Créez un backend de journal client de coach de vie sécurisé sur Back4app avec ce schéma et ce comportement exacts.

Schéma:
1. CoachUser (utiliser les champs d'authentification intégrés de Back4app plus displayName et role) : username, email, password, displayName, role ; objectId, createdAt, updatedAt (système).
2. Client : fullName (String, requis), email (String, requis), status (String, requis), coach (Pointer vers CoachUser, requis) ; objectId, createdAt, updatedAt (système).
3. GoalEntry : client (Pointer vers Client, requis), title (String, requis), category (String, requis), targetDate (Date, optionnel), status (String, requis), priority (Number, requis), createdBy (Pointer vers CoachUser, requis) ; objectId, createdAt, updatedAt (système).
4. SessionNote : client (Pointer vers Client, requis), sessionDate (Date, requis), noteText (String, requis), actionItems (Array<String>, optionnel), mood (String, optionnel), coach (Pointer vers CoachUser, requis) ; objectId, createdAt, updatedAt (système).
5. ProgressSnapshot : client (Pointer vers Client, requis), goal (Pointer vers GoalEntry, requis), capturedAt (Date, requis), progressScore (Number, requis), milestoneLabel (String, requis), chartValues (Array<Number>, optionnel), createdBy (Pointer vers CoachUser, requis) ; objectId, createdAt, updatedAt (système).
6. AuditTrail : actor (Pointer vers CoachUser, requis), client (Pointer vers Client, requis), entityType (String, requis), entityId (String, requis), action (String, requis), recordedAt (Date, requis) ; objectId, createdAt, updatedAt (système).

Sécurité :
- Les coachs peuvent seulement lire et écrire les clients assignés à leur pointeur CoachUser.
- Seul le coach propriétaire peut créer des enregistrements GoalEntry, SessionNote, ProgressSnapshot et AuditTrail pour ce client.
- Conservez les notes de session et les instantanés de progrès attribuables et chronologiques.

Auth :
- Inscription, connexion, déconnexion.

Comportement :
- Lister les clients, créer des objectifs, écrire des notes de session, capturer des instantanés de progrès et examiner les entrées d'audit.
- Supporter les visualisations de progrès à partir de ProgressSnapshot.chartValues et des étiquettes de jalons.

Livrer :
- Application Back4app avec schéma, CLPs, ACLs et une interface utilisateur de journal pour coach destinée au suivi des objectifs clients, des notes de session et des progrès.

Appuyez sur le bouton ci-dessous pour ouvrir l'agent avec ce prompt de modèle pré-rempli.

Ceci est le prompt de base sans suffixe technologique. Vous pouvez adapter la pile frontend générée par la suite.

Déployer en quelques minutes50 invites gratuites / moisAucune carte de crédit requise

Terrain de jeu API

Essayez les points de terminaison REST et GraphQL contre le schéma du journal de coaching de vie. Les réponses utilisent des données fictives et ne nécessitent pas de compte Back4app.

Chargement du terrain de jeu…

Utilise le même schéma que ce modèle.

Choisissez votre technologie

Développez chaque carte pour voir comment intégrer CoachUser, Client et GoalEntry avec votre pile choisie.

Flutter Journal de coach de vie Backend

React Journal de coach de vie Backend

React Natif Journal de coach de vie Backend

Next.js Journal de coach de vie Backend

JavaScript Journal de coach de vie Backend

Android Journal de coach de vie Backend

iOS Journal de coach de vie Backend

Vue Journal de coach de vie Backend

Angular Journal de coach de vie Backend

GraphQL Journal de coach de vie Backend

REST API Journal de coach de vie Backend

PHP Journal de coach de vie Backend

.NET Journal de coach de vie Backend

Ce que vous obtenez avec chaque technologie

Chaque stack utilise le même schéma backend de journal de coach de vie et les contrats API.

Structure de données de coaching unifiée

Gérez CoachUser, Client, GoalEntry, SessionNote, ProgressSnapshot et AuditTrail avec un schéma cohérent.

Définition des objectifs et suivi des progrès

Conservez titre, catégorie, statut, priorité, progressScore et chartValues dans des champs backend clairs.

Notes de session chronologiques

Stockez les enregistrements de SessionNote et d'AuditTrail afin que l'historique de coaching soit facile à consulter.

Visibilité spécifique au client

Définir des règles d'accès qui correspondent aux équipes de coaching et aux workflows de notes privées.

Journal du coach de vie Comparaison technique

Comparez la vitesse de configuration, le style du SDK et le support de l'IA à travers toutes les technologies prises en charge.

CadreTemps de configurationAvantage du journal de coach de vieType de SDKSupport de l'IA
Environ 5 minutesBase de code unique pour les applications de journal de coaching sur mobile et web.SDK typéComplet
Moins de 5 minutesTableau de bord web rapide pour les notes de coaching et la progression.SDK typéComplet
~3–7 minutesApplication mobile multiplateforme pour les lignes de temps de coaching.SDK typéComplet
Configuration rapide (5 minutes)Application web rendue sur le serveur pour les journaux de coaching.SDK typéComplet
~3–5 minutesIntégration web légère pour les outils de coaching.SDK typéComplet
Environ 5 minutesApplication Android native pour les notes de session et le suivi des objectifs.SDK typéComplet
Moins de 5 minutesApplication iOS native pour la révision du journal client.SDK tapéComplet
~3–7 minInterface web Reactive pour les graphiques de progression de coaching.SDK tapéComplet
Configuration rapide (5 min)Application web d'entreprise pour les opérations de coaching.SDK tapéComplet
Moins de 2 minAPI GraphQL flexible pour les tableaux de bord de coaching.API GraphQLComplet
Configuration rapide (2 min)Intégration REST API pour les workflows de journal.REST APIComplet
~3 minBackend PHP côté serveur pour les enregistrements de coaching.REST APIComplet
~3–7 min.NET backend pour les systèmes de journaux de coaching.SDK typéComplet

Le temps de configuration reflète la durée attendue depuis le démarrage du projet jusqu'au premier objectif, session ou requête de progression utilisant ce schéma de modèle.

Questions du coach

Questions fréquentes sur la création d'un backend de journal de coach de vie avec ce modèle.

Quelles métriques comptent vraiment pour la livraison du journal de coach de vie au-delà de "occupé" ?
Comment les questions de journal de coach de vie devraient-elles connecter des documents, des délais et des communications dans les données ?
Comment étendons-nous les automatisations du journal de coach de vie pour les rappels, les tâches et les notifications client ?
Quelles classes alimentent ce modèle de journal de coach de vie ?
Comment créer un objectif pour un client ?
Comment enregistrer une séance de coaching ?
Comment fonctionnent les mises à jour de timeline en temps réel pour les notes de séance ?
Puis-je mettre en cache les instantanés de progression hors ligne ?
Comment puis-je initialiser le SDK pour ce modèle dans Flutter ?
Quand devrais-je choisir GraphQL plutôt que REST pour les données du journal ?

Approuvé par des développeurs du monde entier

Rejoignez des équipes expédiant des produits de journaux de coaching plus rapidement avec les modèles Back4app

G2 Users Love Us Badge

Prêt à construire votre application de journal de coach de vie ?

Commencez votre projet de journal de coach de vie en quelques minutes. Aucune carte de crédit requise.

Choisir la technologie