The bridge between patient vitality and medical data.
VitalSync is a modern, full-stack medical application built with Flutter and Firebase. It facilitates seamless booking of medical tests (Home & Lab visits), real-time order tracking, and health profile management using a "Neo-Medical" aesthetic with glassmorphism and smooth animations.
| Login & Auth | Home Dashboard | Test Booking |
|---|---|---|
![]() |
![]() |
![]() |
| Cart & Checkout | Order Tracking | Profile & Settings |
|---|---|---|
![]() |
![]() |
![]() |
- π Secure Authentication: Robust Login and Sign-up flow using Firebase Auth with persistent user sessions.
- π§ͺ Dynamic Test Booking:
- Toggle between Home Visit and Lab Visit.
- Slot selection logic ensuring availability.
- Address capture for home collections.
- ποΈ Smart Cart System: Add multiple tests or health packages, view discounts, and checkout securely.
- π¦ Health Packages: Special "Bundles" (e.g., Full Body Checkup, Heart Health) populated via a custom Data Seeder.
- π Real-time Order Tracking: Visual stepper UI showing order status (Placed β Sample Collected β Processing β Report Ready).
- π Notification System: In-app notification center for booking updates.
- π¨ Neo-Medical UI: Custom "GlassCard" components, skeleton loading states (
shimmer), and micro-interactions usingflutter_animate.
This project follows a clean Layered Architecture to ensure scalability and maintainability.
- Frontend: Flutter (Dart 3.0+)
- Backend: Firebase (Firestore Database, Authentication)
- State Management:
Provider(MVVM pattern) - Dependency Injection:
GetIt - Routing: Standard Flutter Navigation
lib/core: Constants, Theme data, DI setup, and Utilities (Result types).lib/models: Data classes (Order, Test, User) with JSON serialization.lib/repositories: The data layer that communicates directly with Firestore.lib/providers: The view-model layer that holds state and business logic.lib/ui: Screens and reusable widgets (GlassCard,VitalAppBar,SpeedDialFab).
- Flutter SDK (v3.0.0 or higher)
- Dart SDK
- Android Studio / VS Code
-
Clone the repository:
git clone [https://github.com/Muhammad-Bilal-03/campus_event_companion.git](https://github.com/Muhammad-Bilal-03/vital_sync.git) cd vital_sync -
Install dependencies:
flutter pub get
-
Firebase Setup:
- Create a project in the Firebase Console.
- Add an Android App with package name:
com.example.fire_base_project. - Download
google-services.jsonand place it inandroid/app/. - Enable Authentication (Email/Password) and Firestore Database in the console.
-
Run the App:
flutter run
Note: On the first run, the app includes a
DataSeederthat will automatically populate your Firestore with sample Tests and Packages if the collection is empty.
lib/
βββ core/ # App-wide constants, themes, and utils
βββ models/ # Data models (JSON/Firestore serializable)
βββ providers/ # State management (ChangeNotifiers)
βββ repositories/ # Data fetching logic (Firebase calls)
βββ ui/
β βββ screens/ # Full application screens
β β βββ auth/ # Login/Signup
β β βββ booking/ # Lab & Home booking logic
β β βββ cart/ # Cart management
β β βββ checkout/ # Order placement
β β βββ home/ # Dashboard & Navigation
β β βββ orders/ # Order history & Details
β β βββ profile/ # User settings
β βββ widgets/ # Reusable UI components (GlassCard, etc.)
βββ main.dart # App entry point
Major packages used in this project:
| Package | Purpose |
|---|---|
provider |
State Management |
firebase_core |
Firebase Initialization |
cloud_firestore |
Database |
firebase_auth |
User Authentication |
flutter_animate |
UI Animations |
google_nav_bar |
Modern Bottom Navigation |
lucide_icons |
Clean Iconography |
another_stepper |
Order Tracking UI |
shimmer |
Loading Effects |
Contributions are welcome! Please fork the repository and submit a pull request for any features or bug fixes.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Muhammad BilalA
- Role: Lead Developer
- LinkedIn: linkedin.com/in/muhammad-bilal-bsse
- GitHub: github.com/Muhammad-Bilal-03





