Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BMI Calculator 💪

A multi-screen Body Mass Index calculator built with Flutter, featuring a fully custom dark UI. Created while following The App Brewery's Complete Flutter Development Bootcamp.

Flutter Platform Type


Overview

A simple, good-looking BMI calculator: pick your gender, set your height and weight, and get your BMI with a category and a short interpretation. The focus of the project is custom Flutter UI — theming, reusable widgets, and a clean multi-page flow — rather than complex logic.

⚠️ Attribution: this is a learning project built by following The App Brewery's Complete Flutter Development Bootcamp. The UI is based on a design by Ruben Vaalt. Credit for the original course material and design goes to them; this repo is my implementation while learning Flutter.

Features

  • Input screen — gender selection, height slider, weight and age steppers
  • BMI calculationweight / (height/100)²
  • Result screen — BMI value, category (Underweight / Normal / Overweight), and a short interpretation
  • Custom dark theme with a coherent color palette and reusable card/button widgets

How the calculation works

lib/calculator_brain.dart:

  • BMI = weight ÷ (height in metres)²
  • ≥ 25 → Overweight · > 18.5 → Normal · otherwise → Underweight

Tech stack

  • Flutter / Dart (SDK >=2.1.0 <3.0.0)
  • font_awesome_flutter for icons
  • Material design with a customized dark ThemeData

Project structure

lib/
├── main.dart                 # app entry + theme
├── screens/
│   ├── input_page.dart       # gender / height / weight / age input
│   └── results_page.dart     # BMI result + interpretation
├── calculator_brain.dart     # BMI calculation logic
├── constants.dart            # shared text styles & colors
└── components/
    ├── reusable_card.dart
    ├── icon_content.dart
    ├── bottom_button.dart
    └── round_icon_button.dart

Getting started

  1. Install the Flutter SDK
  2. Fetch dependencies:
    flutter pub get
  3. Run on a connected device or emulator:
    flutter run

What I practiced

  • Flutter themes for coherent branding
  • Multi-page navigation with Routes and Navigator
  • Extracting and refactoring widgets into reusable components
  • Passing functions as parameters/fields
  • GestureDetector for custom interactions
  • Dart enums, the ternary operator, and const vs final
  • Composition over inheritance for custom UI

Credits

Based on The App Brewery's Complete Flutter Development Bootcamp — full course at www.appbrewery.co. UI design by Ruben Vaalt.

About

BMI Calc App on Flutter

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages