Mobile App Development for Kindergarten
A kindergarten app is a communication tool between caregivers and parents. Day photos, announcements, menu, attendance marks, meal payments. Technically simple, but with strict requirement that determines entire architecture: children's personal data.
GDPR, 152-FZ (Russian law) and Photos of Children
A child's photo — biometric data in facial terms, personal data in identification terms. Can't store without explicit parental consent. In practice this means:
- Personal data processing consent — not just checkbox at registration. Need separate form listing processed data and processing purpose
- Group photos: either published only in "closed" channel for specific group parents (not all kindergarten), or require consent from each parent whose child appears
- S3 bucket with photos must be closed, access — only via presigned URLs with 1-hour TTL, not public links
- Data deletion on parental request (right to be forgotten) — must work, not just be a declaration
Ignoring this, first parent complaint to data protection authority creates problems for kindergarten, not developer.
Functional Core
Roles: kindergarten admin → group caregiver → parent. Each role sees only their data — RBAC mandatory.
Caregiver marks attendance — simple UI, but logic matters: marking past date requires confirmation or is limited (can't mark "back-dated" beyond 3 days). Meal payments: bank integration via SBP or YooKassa, PDF receipts via pdf Flutter package or server generation.
Event feed — not social network. No likes, no comments from other parents (children aren't Instagram content). Only photo + text from caregiver, parent reactions (read/unread).
Tech Stack
Flutter + Dart. Firebase Authentication via phone number (OTP) — familiar for parents, no password to remember. Firestore for messages and announcements — realtime without WebSocket. Firebase Storage for photos with server security rules (storage.rules — access only if request.auth.uid belongs to child's group).
Push notifications — FCM with topic subscription to group: caregiver sends one message, all group parents get push. No need to iterate tokens manually.
Timeline
MVP (attendance, feed, pushes, roles): 8–12 weeks. With payments, menu, and reporting for accounting: 14–18 weeks. Cost calculated after analyzing role model requirements and number of kindergartens in network.







