Skip to content

Repository files navigation

Kalori-In 🥗

Kalori-In adalah aplikasi mobile AI Food Scanner yang memungkinkan pengguna untuk mengenali makanan melalui foto dan mendapatkan informasi nutrisi secara otomatis, meliputi kalori, protein, karbohidrat, lemak, dan serat.


📱 Tampilan Aplikasi

Splash Home Upload Analisis Hasil
Animasi logo bertahap Halaman utama & fitur Pilih/ambil foto Progress analisis AI Detail nutrisi lengkap

✨ Fitur Utama

  • Deteksi Cepat — Identifikasi makanan dari foto secara instan menggunakan AI
  • Info Nutrisi — Kalori, protein, karbohidrat, lemak, dan serat per sajian
  • Ringkasan AI — Deskripsi singkat hasil analisis dalam Bahasa Indonesia
  • Tips Kesehatan — Saran pola makan berbasis makanan yang terdeteksi
  • Multi-model Fallback — Otomatis beralih ke model cadangan jika terjadi rate limit

🛠️ Tech Stack

Framework & Language

Teknologi Versi Keterangan
Flutter >=3.x Cross-platform UI framework
Dart >=3.8.0 Bahasa pemrograman utama

Dependencies Utama

Package Versi Fungsi
google_fonts ^6.3.1 Font Poppins untuk UI
image_picker ^1.2.0 Akses kamera & galeri
http ^1.5.0 HTTP request ke OpenRouter API
flutter_svg ^2.2.0 Dukungan asset SVG

Dev Dependencies

Package Fungsi
flutter_launcher_icons Generate launcher icon Android
flutter_lints Analisis kode statis

AI & API

Layanan Keterangan
OpenRouter Gateway AI — OpenAI-compatible API
google/gemma-4-26b-a4b-it:free Model utama (free tier, multimodal)
google/gemma-3-27b-it:free Model fallback 1
meta-llama/llama-4-scout:free Model fallback 2
mistralai/mistral-small-3.2-24b-instruct:free Model fallback 3

🏗️ Struktur Proyek

lib/
├── core/
│   ├── constants/
│   │   ├── app_assets.dart       # Path asset terpusat
│   │   ├── app_colors.dart       # Palet warna aplikasi
│   │   └── app_strings.dart      # Semua string UI
│   ├── routing/
│   │   └── app_routes.dart       # Definisi named routes
│   └── theme/
│       └── app_theme.dart        # Tema Material global
├── models/
│   ├── food_item.dart            # Model data makanan terdeteksi
│   └── nutrition_result.dart     # Model hasil analisis nutrisi
├── screens/
│   ├── splash/                   # Splash screen dengan animasi logo
│   ├── home/                     # Home screen & feature cards
│   ├── upload/                   # Upload/kamera foto makanan
│   ├── analysis/                 # Loading & progress analisis
│   └── result/                   # Hasil nutrisi lengkap
├── services/
│   └── gemini_service.dart       # Integrasi OpenRouter API + fallback logic
├── widgets/
│   ├── app_logo.dart             # Logo "Kalori-In." reusable widget
│   ├── primary_button.dart       # Tombol utama (hijau)
│   ├── secondary_button.dart     # Tombol sekunder (outline)
│   └── ghost_button.dart         # Tombol ghost/transparan
└── main.dart

🚀 Cara Menjalankan

Prasyarat

  • Flutter SDK >=3.8.0
  • Android SDK (untuk build Android)
  • API key dari openrouter.ai (gratis, tidak perlu billing)

Langkah

# 1. Clone repository
git clone <url-repository>
cd Kalori-In

# 2. Install dependencies
flutter pub get

# 3. Jalankan di emulator/device
flutter run

# 4. Build APK untuk Android
flutter build apk --release

Konfigurasi API Key

Buka lib/services/gemini_service.dart dan ganti nilai _apiKey:

static const String _apiKey = 'sk-or-v1-xxxxxxxxxxxxxxxx';

Dapatkan API key gratis di openrouter.ai/keys.


📦 Build & Deploy Android

Generate Launcher Icon

dart run flutter_launcher_icons

Build APK

flutter build apk --release

APK tersedia di build/app/outputs/flutter-apk/app-release.apk.


🎨 Desain

Elemen Nilai
Warna Utama #4CAF50 (Hijau)
Warna Aksen #8B1A1A (Merah — huruf K & In.)
Background #CFDCCF (Sage green)
Font Poppins (via Google Fonts)
Min SDK Android 21 (Android 5.0 Lollipop)

About

Kalori-In adalah aplikasi mobile AI Food Scanner yang memungkinkan pengguna untuk mengenali makanan

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages