Skip to content

Fil-web/app_store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Калькулятор ИМТ (Body Mass Index Calculator)

Мобильное приложение для расчета Индекса Массы Тела (ИМТ) с сохранением истории расчетов.

📱 О приложении

Приложение позволяет:

  • Рассчитывать ИМТ на основе веса и роста
  • Сохранять результаты расчетов в историю
  • Просматривать историю предыдущих расчетов
  • Управлять сохраненными данными

🛠 Технологии

  • Flutter - кроссплатформенный фреймворк
  • Flutter Bloc - управление состоянием приложения
  • SharedPreferences - локальное хранение данных
  • Material Design - дизайн система

📁 Структура проекта

lib/ ├── main.dart # Точка входа приложения ├── screens/ │ ├── screen_provider.dart # Провайдер главного экрана │ ├── screen.dart # Главный экран с калькулятором │ ├── history_screen.dart # Экран истории расчетов │ ├── cubit/ │ │ ├── screen_cubit.dart # Логика главного экрана │ │ ├── screen_state.dart # Состояния главного экрана │ │ ├── history_cubit.dart # Логика истории │ │ └── history_state.dart # Состояния истории │ └── shared_preferences/ │ └── shared_prefs.dart # Работа с локальным хранилищем

🚀 Установка и запуск

Предварительные требования

  • Flutter SDK (версия 3.0+)
  • Dart SDK
  • iOS: Xcode и macOS
  • Android: Android Studio

Шаги установки

  1. Клонирование репозитория
    git clone <repository-url>
    cd app_store
    
    flutter pub get
    
    # На iOS симуляторе

flutter run -d "iPhone"

На Android эмуляторе

flutter run -d "Android"

На реальном устройстве

flutter run

Запуск на iOS

Откройте проект в Xcode

cd ios open Runner.xcworkspace

Запустите приложение

Действия:

Сохранение в историю

Добавление нового расчета

Просмотр истории

Экран истории Просмотр всех сохраненных расчетов

Удаление отдельных записей

Обновление списка pull-to-refresh

Сортировка по дате (новые сверху)

🎨 Дизайн

Стиль: Минималистичный Material Design

Цветовая схема: Белый фон с акцентными цветами

Типографика: Четкая иерархия шрифтов

Компоненты: Центрированные элементы ввода/вывода

📈 Логика расчета ИМТ

Формула: ИМТ = вес (кг) / (рост (м) × рост (м))

Категории:

< 18.5 - Недостаточный вес (оранжевый)

18.5-24.9 - Нормальный вес (зеленый)

25-29.9 - Избыточный вес (оранжевый)

≥ 30 - Ожирение (красный)

💾 Хранение данных

SharedPreferences для:

Последних введенных данных

Согласия на обработку

Истории расчетов (в формате JSON)

🔧 Настройка разработки

flutter pub add <package_name>

Сборка релизной версии

iOS

flutter build ios

Android

flutter build apk

flutter test

🐛 Решение проблем

Очистка проекта flutter clean flutter pub get

Проблемы с iOS cd ios pod repo update pod install cd ..

Проблемы с кэшем flutter precache

👥 Разработчики

Филатов Данька

About

Учебное методическое пособие

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors