Skip to content

fluttergoo/open_baby_sara

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

467 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸ‘Ά Sara: Baby Tracker & Sounds

Track sleep, feeding, diapers, milestones, and baby food recipes in one open-source Flutter app.

Sara is a cross-platform mobile application developed in Flutter to assist parents and caregivers with tracking essential baby care activities. The app supports real-time logging, shared access for multiple caregivers, and enriched baby care insights through charts, reminders, and local/offline support.

πŸ“² Try It Now

Track every precious moment of your baby's growth β€” sleep, feeding, milestones, and more.


🧱 High Level Architecture

The following diagram provides a high-level overview of the system architecture for the Sara: Baby Tracker & Sounds app. It illustrates how the mobile app interacts with Firebase services, local storage, and third-party integrations. High Level Architecture


πŸ”„ Activity Log Flow

This sequence diagram illustrates how activities are created, stored locally, and synced with Firestore.

Activity Log Flow


πŸ‘¨β€πŸ‘©β€πŸ‘§ Caregiver Invite & Registration Flow

This flowchart illustrates how a user can invite a caregiver and how the caregiver joins using the same baby profile.

Caregiver Flowchart


🧩 Features Overview

Feeding Tracker

  • Breastfeeding (left/right)
  • Bottle feeding (ml/oz)
  • Pumping sessions

Sleep Tracker

  • Start/stop timers
  • Sleep sound playback (white noise, lullabies etc.)
  • Sleep duration analytics

Diaper Log

  • Wet / Dirty / Mixed diaper entries

Growth & Milestones

  • Monthly milestone checklist (localized)
  • Weight, height tracking
  • Teething & vaccination log

Baby Recipes

  • Age-filtered recipe suggestions
  • Ingredients, instructions, nutrition info

Activity History

  • Timeline view (grouped by date)
  • Search & filter past activities
  • Edit or delete past entries

Shared Family Access

  • Multiple caregiver support
  • Baby switcher for multi-baby households

πŸ—οΈ Technical Architecture

Flutter + BLoC

  • UI written using Flutter 3.x
  • State management using flutter_bloc
  • Navigation via custom AppRouter

Firebase Integration

  • Firebase Auth: User registration/login (email & password)
  • Cloud Firestore: All activity, baby, and caregiver data
  • Firebase Storage: For storing baby avatars locally and remotely

Local Persistence

  • Sqflite: Caching & offline access for activity logs
  • Shared Preferences: Local config/settings

Multimedia Support

  • Custom background sound player with loop & fade
  • Local image picker for baby avatars

πŸ—‚ Project Structure

lib/
β”œβ”€β”€ app/               # themes, routing
β”œβ”€β”€ blocs/             # BLoC logic for each module
β”œβ”€β”€ core/              # Constants, helper classes, routing, localization
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ models/        # Data models
β”‚   β”œβ”€β”€ repositories/  # Firebase/local logic abstraction
β”‚   └── services/      # Firebase, SQLite services
β”œβ”€β”€ l10n/              # Easy localization files
β”œβ”€β”€ views/
β”‚   β”œβ”€β”€ screens/       # Pages & screens
β”‚   β”œβ”€β”€ widgets/       # Reusable UI components
β”‚   └── bottom_sheets/ # Bottom sheet activity forms
β”œβ”€β”€ main.dart          # Entry point
β”œβ”€β”€ widgets/           # Common widgets
└── firebase_options.dart # Firebase config

πŸ§ͺ Testing

  • Unit Tests for bloc logic and model classes
  • Widget Tests for form behavior and UI rendering
  • Integration Tests planned for full activity lifecycle

πŸ”§ Setup Instructions

Install dependencies

flutter pub get

Configure Firebase

  1. Go to the Firebase Console
  2. Create a new project or open an existing one.
  3. Enable the following services:
    • Authentication (Email/Password)
    • Cloud Firestore
  4. Register your app:
    • For Android, download google-services.json
    • For iOS, download GoogleService-Info.plist
  5. Add them to:
    • android/app/ directory (Android)
    • ios/Runner/ directory (iOS)
  6. Set up Firebase CLI (if not already):
    dart pub global activate flutterfire_cli
    flutterfire configure
    Or manually configure firebase_options.dart based on Firebase config files.

Run the project

flutter run

πŸ“² Deployment

  • βœ… Published on Google Play and Apple App Store
  • βœ… Firebase Hosting for optional web admin panel

🀝 Contribution Guide

  1. Fork the repository
  2. Create a feature branch:
    git checkout -b feature/my-feature
  3. Make your changes and commit:
    git commit -m "✨ Add: new feature"
  4. Push to your fork:
    git push origin feature/my-feature
  5. Open a Pull Request

βš–οΈ License

This project is licensed under the GNU GPL v3.0 license.
See the LICENSE file for full license text.


πŸ“š Resources

CI/CD Test

CI/CD Test - Thu Oct 9 22:52:17 EDT 2025

About

All-in-one baby care: Track, Feed, Sleep, and Grow Together. Sara is an open-source Flutter app designed to make parenting easier by helping parents and caregivers track daily baby activities, share responsibilities, and create a calm environment with soothing sleep sounds and baby food recipes.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Dart 94.0%
  • C++ 2.2%
  • CMake 1.7%
  • Shell 1.1%
  • Swift 0.3%
  • HTML 0.3%
  • Other 0.4%