quarantine calisthenic real-time group workouts FIREBASE DATA SCHEMA { "users": { "$user_id": { "groups": { # Group membership "$group_id": true }, "photo_url": ... } }, "groups": { "$group_id": { "metadata": { "name": "runners club" "creator_id": "...", "goals": { "$goal_id": { "amount": 40 # current daily goal } } }, "members": { # Member list "$user_id": true } } }, "group_progress": { "$group_id": { "$date": { "$goal_id": { "$user_id": { "amount": 50 } } } } }, "user_progress": { "$user_id": { "$date": { "$goal_id": { "amount": 50 } } } }, "goals": { # static list controlled by us "$goal_id": { "name": "pushups" } } }