A simple Flutter application for managing BMI Tracker App with CRUD operations.
Welcome to the BMI Tracker App! This Flutter application allows users to create, read, update, and delete BMI. The focus is on providing an intuitive and visually appealing interface for managing BMI efficiently.
- Authentication: Users can sign in anonymously using Firebase Auth.
- BMI Calculation: Users can enter their weight, height, and age to calculate their BMI.
- Data Storage: BMI data along with the current time is saved in Firestore.
- BMI Status: The app displays the status related to the calculated BMI.
- View Entries: Users can view a list of all entries sorted by the most recent date, paginated with 10 entry records per page.
- Real-time Updates: The app updates in real-time when the data changes on Firestore.
- Edit and Delete Entries: Users can edit existing entries and delete entries.
- Sign-out Functionality: Users can sign out from the app.
Make sure you have Flutter and Dart installed on your machine. If not, follow the official Flutter installation guide.
-
Clone the repository:
git clone [https://github.com/karar0120/bmi_tracker-flutter.git](https://github.com/karar0120/bmi_tracker.git) cd bmi-tracker-app-flutter -
Install dependencies:
flutter pub get
-
Run the app:
flutter run
.
├── core # For all common and core files.
│ ├── error # contains all Exceptions and Failures classes
│ ├── presentation # Common presentation files
| │ └── blocs # Common blocs
| │ └── pages # Core pages
| │ └── widgets # Common widgets
│ └── route # Routes for navigation
│ └── theme # Theme data
│ └── usecases # Common usecases
|
├── data # Data Files of Feature 1
│ ├── datasources # DataSources Abstract Files and Implementations
│ │ └── feature # Feature 1 (for exp : Todo Feature)
│ │ └── sub-feat. # Sub feature
│ ├── models # Models for data
│ │ └── feature # Feature 1 (for exp : Todo Feature)
│ │ └── sub-feat. # Sub feature
│ └── repositories # Repositories Implementation Classes
│ └── feature # Feature 1 (for exp : Todo Feature)
│ └── sub-feat. # Sub feature
├── domain # Domain
│ ├── entities # Entities For Feature 1
│ │ └── feature # Feature 1 (for exp : Todo Feature)
│ │ └── sub-feat. # Sub feature
│ ├── usecases # Usecases of Feature 1
│ │ └── feature # Feature 1 (for exp : Todo Feature)
│ │ └── sub-feat. # Sub feature
│ └── repositories # Repositories Abstract Classes
│ └── feature # Feature 1 (for exp : Todo Feature)
│ └── sub-feat. # Sub feature
└── presentation # Presentation files
├── blocs # Blocs
│ └── feature # Feature 1 (for exp : Todo Feature)
│ └── sub-feat. # Sub feature
├── pages # Pages
│ └── feature # Feature 1 (for exp : Todo Feature)
│ └── sub-feat. # Sub feature
└── widgets # Widgets
└── feature # Feature 1 (for exp : Todo Feature)
└── sub-feat. # Sub feature
This app uses [Clean Architecture by Robert C Martin]
Image Source : ResoCoder
.
├── master # Contains the latest release
├── dev # Contains the latest development
├── feature1 # feature 1 created from dev
├── feature2 # feature 2 created from dev
├── feature3 # feature 3 created from dev
├── bugFix1 # bugfix 1 created from dev
├── bugFix2 # bugfix 1 created from dev
├── docChange1 # docChange 1 created from dev
├── docChange1 # docChange 2 created from dev
Approximately 6 hours were spent on implementing the features, setting up Firebase integration, testing, and writing documentation.
Attached is the APK file for the project.






