A playdate scheduling app designed for kids to plan and coordinate activities with their friends, with parental oversight and approval.
Kids Scheduler is like "Google Workspace for kids" - enabling children to create private groups, share calendars, and book playdates with friends. The app emphasizes safety, parental control, and a kid-friendly user experience.
- π Visual calendar to see upcoming playdates
- π₯ Join friend groups (class, sports team, neighborhood)
- β Create playdate invites with activity templates
- π Respond to invitations (Yes/Maybe/No)
- π¨ Kid-friendly UI with emoji avatars and large buttons
- π Google OAuth sign-in
- πΆ Manage multiple child profiles
- β Approve/decline playdate requests
- π View parent contact information
- βοΈ Configure group settings and permissions
- Parent approval required for all playdates
- Private, invite-only groups
- No direct messaging between kids
- COPPA compliance considerations
- All activity visible to parents
- Swift + SwiftUI - Native iPadOS development
- EventKit - Calendar integration
- Google Sign-In SDK - Authentication
- Firebase Auth - Google OAuth authentication
- Firestore - Real-time NoSQL database
- Cloud Functions - Backend logic & notifications
- Firebase Cloud Messaging - Push notifications
- Firebase Storage - Avatar/photo storage
KidsScheduler/
βββ KidsSchedulerApp.swift # App entry point
βββ ContentView.swift # Root view controller
βββ Models/ # Data models
β βββ User.swift # Parent account
β βββ Child.swift # Child profile
β βββ Group.swift # Friend group
β βββ Playdate.swift # Event/playdate
βββ Views/ # UI components
β βββ WelcomeView.swift # Login screen
β βββ ChildProfileSetupView.swift # Onboarding
β βββ MainTabView.swift # Tab navigation
β βββ ...
βββ ViewModels/ # Business logic
β βββ AuthenticationViewModel.swift
βββ Services/ # Backend services
β βββ AuthenticationService.swift
β βββ FirestoreService.swift
βββ Resources/ # Assets, configs
βββ GoogleService-Info.plist
- Xcode 15+ with iPadOS 16+ SDK
- Firebase project (see setup guide)
- Google Cloud Console project (for OAuth)
- CocoaPods or Swift Package Manager
- Clone the repository:
git clone https://github.com/yourusername/kids-scheduler.git
cd kids-scheduler- Install dependencies:
# Using Swift Package Manager (recommended)
open KidsScheduler.xcodeproj
# Xcode will automatically resolve packages
# OR using CocoaPods
pod install
open KidsScheduler.xcworkspace-
Configure Firebase:
- Follow the guide in
config/firebase-setup-guide.md - Download
GoogleService-Info.plistfrom Firebase Console - Add it to
KidsScheduler/Resources/
- Follow the guide in
-
Set up Google Sign-In:
- Add
REVERSED_CLIENT_IDto URL Types in Xcode - See
config/firebase-setup-guide.mdfor details
- Add
-
Run the app:
- Select iPad simulator or device
- Press Cmd+R to build and run
- Wireframes - Complete UI/UX design specifications
- Data Models - Detailed database schema
- Firebase Setup - Backend configuration guide
- Project structure and Firebase setup
- Google OAuth authentication
- Child profile management
- Create/join groups with invite codes
- Basic calendar view
- Create playdate events
- RSVP system
- Parent approval flow
- Push notifications
- Recurring events
- Location suggestions/favorites
- Activity templates
- Availability preferences
- Parent-approved photo sharing
- iPad split-view support
- Drag & drop calendar interactions
- Accessibility improvements
- Localization
- Advanced parental controls
- Analytics dashboard
This app is designed for children and must comply with the Children's Online Privacy Protection Act (COPPA):
- Parental consent required for account creation
- Minimal data collection
- No behavioral tracking or advertising
- Parent can view/delete all child data
- Privacy policy clearly visible
- Firestore security rules enforce parent-child relationships
- All writes require authentication
- Row-level security on sensitive data
- No public read access
# Run unit tests
xcodebuild test -scheme KidsScheduler -destination 'platform=iOS Simulator,name=iPad Pro (12.9-inch) (6th generation)'# Run UI tests
xcodebuild test -scheme KidsSchedulerUITests -destination 'platform=iOS Simulator,name=iPad Pro (12.9-inch) (6th generation)'This is a private project, but contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is proprietary. All rights reserved.
For questions or feedback:
- Email: [email protected]
- Issues: GitHub Issues
- Design inspired by kid-friendly apps like Epic! and Khan Academy Kids
- Firebase for backend infrastructure
- Apple Human Interface Guidelines for iPadOS design patterns
Built with β€οΈ for kids and parents everywhere!