Skip to content

Dietitian and Client Tracking App

Cover image for Dietitian and Client Tracking App
Flutter Firebase Mobile App Healthcare Nutrition Dart State Management

This mobile application brings dietitians and clients into the same workflow for meal planning, daily tracking, progress review, recipes, and communication. The goal was not only to count calories, but to connect plans, daily activity, and professional follow-up through one shared data model.

The problem

Nutrition applications often separate profile data, meal plans, recipes, progress charts, and practitioner workflows into disconnected screens or systems. This project explores a more coherent daily experience with real-time Firebase synchronization and role-specific interfaces.

Product goals

  • Provide understandable flows for both clients and dietitians
  • Keep daily tracking, planning, and reporting on a consistent data model
  • Use Firebase to reduce synchronization and backend maintenance overhead
  • Deliver a structured mobile interface across different screen sizes

Client capabilities

  • Account authentication and personalized profiles
  • Age, height, weight, gender, preferences, and target-weight settings
  • Breakfast, lunch, dinner, and snack planning
  • Food search, portions, calories, and nutrient details
  • Date-based tracking with weekly and monthly progress views
  • Recipe collections with ingredients and preparation instructions

Dietitian capabilities

  • Client list and profile management
  • Diet-plan creation and progress review
  • Appointment and messaging flows
  • Shared access to the information required for follow-up

Architecture and technology

The client is built with Flutter and Dart. Provider owns application state, while Firebase Authentication, Cloud Firestore, Storage, and Analytics provide identity, synchronized data, media storage, and usage signals.

lib/
├── core/                    # Base structures and constants
├── product/
│   ├── router/              # Navigation
│   ├── service/             # Firebase services
│   └── widget/              # Shared components
├── view/
│   ├── auth/                # Authentication screens
│   └── home/                # Main application flows
└── utils/                   # Helpers

Dot Navigation Bar, Calendar Timeline, Syncfusion Charts, Easy Localization, Google Fonts, and Flutter SVG support the interface and visualization layer.

Screens and interaction

The primary screens cover a daily dashboard, profile and target management, meal planning, food selection, recipes, progress charts, and account settings. Material Design conventions, responsive layouts, light/dark modes, lazy loading, image caching, and scoped state updates were used to keep the mobile experience predictable.

Development setup

The project targets Android and iOS and requires Flutter 3.0+, Dart, a Firebase project, and the relevant Android Studio or Xcode environment.

git clone https://github.com/aliyilmazco/Diyet-odendi.git
cd Diyet-odendi
flutter pub get
# Configure firebase_options.dart for your Firebase project.
flutter run

Trade-offs

Firebase enabled quick real-time synchronization and reduced the need for a separate custom backend. That convenience also makes security rules, query design, data ownership, and cost monitoring important parts of the application architecture. Provider offered a straightforward state-management model for the project’s scope without introducing a more complex event architecture.

The project demonstrates how a client-facing mobile experience and a practitioner workflow can share one technical foundation while keeping their responsibilities understandable.