Skip to content

sirbor/Kitchen

Repository files navigation

Kitchen

Kitchen is a modern Android study project that explores the intersection of social recipe discovery and on-demand delivery logistics. It seamlessly merges the culinary community spirit of Cookpad with the hyper-local delivery efficiency of Glovo.

Built with Jetpack Compose and Clean Architecture, Kitchen demonstrates a professional-grade implementation of a multi-module e-commerce platform, from ingredient sourcing to live courier tracking.


Key Modules & Features

Restaurants

A comprehensive user dashboard designed for identity and logistics management:

  • Identity Hub: Manage Full Name, Email, Phone, and a personal Bio.
  • Loyalty System: Built-in rewards points and voucher management.
  • Logistics Suite:
    • Address Book: CRUD support for multiple locations (Home, Work, etc.) with delivery notes.
    • Saved Payments: Secure management of mock credit cards and digital wallets.
  • Activity Tracking: Deep links to My Recipes, Wishlist (Cookbook), and Order History.
  • App Preferences: Interactive toggles for Dark Mode and Notification Updates.

Recipes

  • Recipe Studio: A multi-step creator for publishing recipes with dietary tags and itemized ingredients.
  • Dynamic Feed: Real-time recipe discovery with "Social Trust" indicators (Likes, Comments, and Star Ratings).
  • Dietary Matching: Intelligent UI that automatically badges recipes that match the user's dietary habits (e.g., Vegan, Keto).
  • "Shop the Recipe": Convert inspiration into action by adding all ingredients from a recipe directly to your delivery cart.

Logistics

  • Store Explore: Discover local supermarkets, specialty delis, and organic farms.
  • Distance Logic: Real-time distance calculation from the user's home to local vendors using the Haversine formula.
  • Live Tracking: Integrated Google Maps SDK simulating a courier's journey from the vendor to the user's doorstep with live status updates.

Tech Stack

Mobile Frontend

  • Language: Kotlin
  • UI Framework: Jetpack Compose (100% Declarative UI)
  • Design System: Material 3 (M3) with adaptive layouts for all screen sizes.
  • Architecture: MVVM + Clean Architecture (Domain, Data, Presentation layers).
  • Navigation: Compose Navigation with deep-link support and state retention.
  • Reactive Logic: Kotlin Coroutines & Flow (StateFlow, SharedFlow).
  • Image Loading: Coil (Asynchronous food media rendering).

Data & Simulation

  • Mock Repository Pattern: A sophisticated data layer that simulates network latency and database persistence without requiring a live backend.
  • State Management: Unified UI State pattern using sealed classes for Loading, Success, and Error states.

APIs & Integrations

  • Maps: Google Maps SDK for Android (via maps-compose).
  • Icons: Material Icons Extended for a professional visual language.

User Interface Hierarchy

The app follows a structured vertical hierarchy for optimal UX:

  1. Header: Interactive profile identity and loyalty summary.
  2. Shortcuts: Horizontal action bar for high-frequency tasks (Order Status, Returns).
  3. Content: Categorized menu lists for Logistics, Activity, and Preferences.
  4. Footer: Help Center, Support access, and Session management (Logout).

Installation & Setup

This project is a self-contained study environment. No external API keys are strictly required to explore the UI and logic, though a Google Maps key can be added for the full mapping experience.

  1. Clone the Repository
  2. Build the Project:
    ./gradlew assembleDebug
  3. Run: Open in Android Studio and deploy to an emulator or physical device.

Note: For the Map tracking feature, add your MAPS_API_KEY to local.properties.


Study Objectives

  • State Propagation: How to sync user profile changes across separate ViewModel scopes.
  • Adaptive UI: Implementing BoxWithConstraints to support multiple device dimensions.
  • Event Handling: Using SharedFlow for one-time navigation events (e.g., Checkout success).

Distributed under the MIT License. Built for study and architectural exploration.

About

A simple android restaurant app for booking appointments and showcasing menu and recipes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages