Skip to content

πŸ₯˜ A Flutter-based cooking ingredients management mobile app utilizing Firebase, Awesome Notifications, and TheMealDB API for Mobile Programming Final Project

Notifications You must be signed in to change notification settings

zetsux/cookoo-app

Β 
Β 

Repository files navigation

πŸ§‘β€πŸ³ Cookoo App

Cookoo is a mobile application built with Flutter that helps you track your kitchen ingredients, get smart recipe recommendations, and schedule your meals β€” all in one place.


πŸ‘₯ Authors

Nama NRP Github
Kevin Nathanael Halim 5025211140 https://github.com/zetsux
Fadhl Akmal Madany 5025221028 https://github.com/fadhlakmal
Muhammad Detri Abdul Fikar 5025221236 https://github.com/SingSopan

πŸ“± Overview

Whether you're an occasional cook or a culinary enthusiast, Cookoo simplifies your cooking life by making sure you always know:

  • What ingredients you have
  • What recipes you can make
  • When you plan to cook it

Say goodbye to wasted food and last-minute meal decisions.


πŸš€ Features

πŸ‘€ Authentication

Secure access to your personalized Cookoo experience:

  • User sign up and login via email & password
  • Firebase Authentication integration
  • Keeps your ingredients, preferences, and meal plans tied to your account

πŸ”‘ Authentication

Authentication Screenshot

Login or create an account for a personalized experience

πŸ§‘β€πŸ’Ό User Profile

User Profile Screenshot

View your profile and upload image linked to Firebase Storage


🧺 Ingredient Management

Track and manage your ingredients easily:

  • Add, update, and delete ingredients
  • Track inventories
  • Monitor quantities

πŸ§‚ Add Ingredient

Add Ingredient Screenshot

Quickly add new ingredients you have in stock to keep your pantry updated

πŸ‘€ View Your Ingredients

View Ingredients Screenshot

Browse a list of all your stored ingredients for easy tracking and management

✏️ Update Your Ingredient

Edit Ingredient Screenshot

Adjust ingredient details like quantity or expiration date as needed

πŸ—‘οΈ Delete Ingredient

Delete Ingredient Screenshot

Remove ingredients that are no longer in your pantry or have expired


πŸ” Recipe Recommendations and Management

Find recipes based on what you already have:

  • Personalized recipe suggestions based on your stock
  • Cook using what's already in your kitchen
  • View, save, and freely edit recipe instructions along with the required ingredients

πŸ“š Recipe Collection

Recipe Collections Screenshot

View all your saved recipes in a clean, organized format

🧠 Recipe Recommendations by Ingredients in Stock

Recipe Recommendations by Ingredients in Stock Screenshot

Get recipe suggestions based on your pantry stocks

πŸ“– Recipe Detail View

Recipe Recommendation Detail Screenshot

View detailed recipe instructions along with the ingredients needed and save it into your collection

πŸ› οΈ Recipe Management

Recipe Management Screenshot

Edit or delete your saved recipes to suit your cooking style


πŸ—“οΈ Meal Scheduling

Plan your meals throughout the week:

  • Assign recipes to specific days
  • Receive reminder for scheduled recipes
  • Stay on track with your cooking goals

πŸ—“οΈ Recipe Scheduling

Schedule Recipe Screenshot

Plan your meals ahead of time and get reminded when it's cooking time.

πŸ“ Schedule a Recipe

Add Schedule Screenshot 1 Add Schedule Screenshot 2

Pick a date and time to cook a recipe and add it to your meal calendar

βš™οΈ Edit Schedule Settings

Edit Schedule Screenshot

Update the scheduled date or change the recipe plan as needed

❌ Delete Scheduled Recipe

Delete Schedule Screenshot

Remove any recipe from your schedule if plans change

πŸ”” Receive Reminders

Reminder Notification Screenshot

Get timely notifications so you never miss a meal you've planned


πŸ› οΈ Tech Stack

  • Flutter – Cross-platform mobile app development framework
  • Dart – Programming language used to write Flutter apps
  • Firebase Firestore – Real-time NoSQL cloud database to store user's data
  • Firebase Auth – Handles user's registration and login securely
  • Firebase Storage – Stores user-uploaded images (e.g., profile pictures)
  • Awesome Notifications – Local notification plugin for scheduling meal reminders and alerts
  • http – For fetching data from external recipe APIs or other web services

πŸ’Ό Member's Contribution

Kevin Nathanael Halim (5025211140)

  • Implemented CRUD functionality for Recipes (Create, Read, Update, Delete) filtered by the authenticated user using Firebase Auth
  • Integrated with The Meal DB API to fetch diverse recipe recommendations with detailed specifications to be added to recipe collections
  • Utilized ingredients stock stored in Firebase Firestore to find recipe recommendations based on user's ingredients in stock
  • Designed the app logo

Fadhl Akmal Madany (5025221028)

  • User and authentication (edit profile image, login, register, and logout).
  • CRUD for recipe scheduling, including local notification for set schedule.
  • Base implementation for The Meal DB API.
  • Splash screen and launcher icon.

Muhammad Detri Abdul Fikar (5025221236)

  • Implemented CRUD functionalitu for Ingredient (Create, Read, Update, Delete) filtered by the authenticated user using Firebase Auth
  • Intregeted with The Meal DB API to brings up an image in ingredient screen

About

πŸ₯˜ A Flutter-based cooking ingredients management mobile app utilizing Firebase, Awesome Notifications, and TheMealDB API for Mobile Programming Final Project

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 94.8%
  • Swift 1.1%
  • Ruby 0.9%
  • Nix 0.8%
  • HTML 0.8%
  • CMake 0.5%
  • Other 1.1%