Skip to content

krossfyah/kiddietrac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

134 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kiddietrac — Smart Childcare Platform

Status: Production-ready foundation. ~70% of MVP scaffolded. Brand: Kiddietrac · #1F6080 (blue) + #8EC73C (leaf green) Hosting target: GoDaddy VPS (Ubuntu 22.04 + Laravel + MySQL) Stack: Laravel 11 + MySQL 8 + Vanilla JS web · Kotlin/Compose Android

A modern, AI-augmented childcare management platform built for Canadian (CWELCC + CCEYA-compliant) operators. Three audiences: parents, providers, agencies.


What's in this repo

kiddietrac/
├── ARCHITECTURE_GODADDY.md      # ← Start here
├── README.md                    # This file
├── docs/
│   └── DEPLOYMENT_GODADDY.md    # Step-by-step server setup
├── database/
│   └── schema.sql               # Full MySQL schema (30 tables, ready to run)
├── backend/                     # Laravel 11 API
│   ├── composer.json
│   ├── .env.example
│   ├── routes/api.php           # All ~100 API endpoints
│   ├── app/
│   │   ├── Models/              # User, Child, DailyEvent (with offline-sync logic)
│   │   ├── Http/Controllers/Api/ # Auth, DailyEvent, ... (more to scaffold)
│   │   └── Services/
│   │       ├── AiDigestService.php   # FLAGSHIP: Anthropic Claude integration
│   │       └── RatioEngine.php       # FLAGSHIP: Live ratio + forecasting
│   └── database/migrations/
├── parent-portal/               # HTML/JS parent web app
│   ├── index.html               # Login (fully functional, calls API)
│   ├── dashboard.html           # Main parent view
│   ├── css/styles.css           # Complete brand stylesheet
│   └── js/
│       ├── app.js               # Shared API client, auth, formatting
│       └── dashboard.js         # Dashboard page logic
└── android/                     # Educator tablet app (Kotlin + Compose)
    ├── README.md
    └── app/
        ├── build.gradle.kts
        └── src/main/java/com/kiddietrac/
            ├── MainActivity.kt
            ├── data/
            │   ├── api/KiddietracApi.kt    # Retrofit definitions
            │   ├── db/KiddietracDatabase.kt # Offline event queue (Room)
            │   └── sync/EventSyncWorker.kt  # Background sync worker
            └── ui/
                ├── auth/LoginScreen.kt
                ├── classroom/ClassroomRosterScreen.kt
                └── theme/KtColors.kt

Flagship features

These are the differentiators vs Brightwheel / Lillio / Playground:

1. AI Daily Digest

At the end of each day, Claude Haiku writes a warm 2–4-sentence summary of each child's day, grounded in the structured events logged by educators. Cost: ~$0.001/digest. Implementation: backend/app/Services/AiDigestService.php.

2. Smart Ratio Engine

Tracks educator:child ratios in real time against Ontario CCEYA requirements. Forecasts the next 4 hours, predicts breaches before they happen, and suggests rebalancing (deploy a floater, borrow from another room). Implementation: backend/app/Services/RatioEngine.php.

3. Offline-first tablet

Educators keep logging meals, naps, and diapers when classroom Wi-Fi drops. Events queue locally in Room (SQLite) and sync automatically via EventSyncWorker with idempotency keys (client_id) preventing duplicates.

4. Canada-first compliance

  • CWELCC subsidy applied automatically per child to invoices
  • Ministry serious-occurrence reporting workflow on incidents
  • T2202 tax receipts auto-generated each January
  • EN/FR bilingual throughout (preferred_lang on user, family, child)
  • HDLH/ELECT/ELOF observation frameworks built into the data model

What's built

Layer Status
Database schema ✅ Complete — 30 tables, seed data, indexes
Auth (login, tokens, password reset) ✅ Complete
Daily event logging (single + batch + voice) ✅ Complete
AI digest service ✅ Complete
Ratio engine ✅ Complete
Parent portal login + dashboard ✅ Complete (production-ready HTML/CSS/JS)
Android: API definitions, offline DB, sync worker ✅ Complete
Android: Login + classroom roster ✅ UI complete (ViewModel scaffolding pending)
GoDaddy deployment guide ✅ Complete
Brand system (colors, typography) ✅ Complete

What's next (in priority order)

  1. Fill in remaining controllers — InvoiceController, MediaController (photo upload + face tagging), MessageController, IncidentController, StaffController. They all follow the same pattern as DailyEventController.
  2. Stripe billing integration — Recurring monthly invoices, CWELCC subsidy line, parent payment flow. Webhook handler skeleton already wired in routes/api.php.
  3. Photo upload pipeline — Image resizing via Intervention/image, face detection (optional ML Kit on tablet), tagging children.
  4. Director and agency web views — Same SPA architecture as parent-portal, different role-gated pages.
  5. Pusher integration for real-time updates (photos, messages appearing live in parent app).
  6. Firebase setup — Push notifications for pickup alerts, medication reminders, incident acknowledgement requests.
  7. Voice log parserVoiceLogParser service stub exists; needs Anthropic-backed transcript-to-structured-event NLP.
  8. Onboarding flow — Centre signup wizard, first family invitation flow.
  9. Compliance reports — Ministry export packets (CSV/PDF), CWELCC monthly rollups.
  10. i18n — Wire up French translations (Ontario law requirement for many municipalities).

How to run locally

# Backend
cd backend
cp .env.example .env
composer install
php artisan key:generate
mysql -u root -p kiddietrac < ../database/schema.sql
php artisan serve

# Parent portal — open in browser
cd parent-portal
python3 -m http.server 8080
# → http://localhost:8080

For Android: open android/ in Android Studio, set API_BASE_URL in local.properties, run on emulator.


License

Proprietary — © 2026 Kiddietrac

About

Kiddietrac childcare SaaS — Laravel backend + PWA frontend

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors