logo.png

Little Lemon Food Ordering App

This is the ANDROID App Capstone Project of the Meta ANDROID Developer Professional Certificate program. It allows users to browse the Little Lemon restaurant’s menu on the app.

Authors

Design

LIttle-Lemon-App-all-screens.png

Wireframe

wireframe.png

Color Reference

Color Hex
Primary Color 1 #495E57 #495E57
Primary Color 2 #F4CE14 #F4CE14

Tech Stack

Client: Koltin – Jetpack Compose

Used By

This system is used by:

  • Customers:

Customers of Little Lemon Restaurant who prefer the convenience of ordering food through a mobile application. It caters to individuals who want a pleasant and user-friendly experience while browsing the restaurant’s menu, customizing their orders, and placing takeout orders. The app is designed to enhance the overall dining experience by providing an intuitive interface for navigating through different sections, sorting and filtering menu items, and seamlessly completing the food ordering process. It aims to attract and retain customers who seek a modern and convenient way of ordering food from the restaurant.

Features

  • The app is a Mediterranean restaurant app, showcasing a modern twist on traditional recipes.
  • It has a visually appealing home screen with a hero section displaying an image and descriptive text.
  • The menu section displays a list of menu items fetched from a database.
  • Each menu item includes an image, title, price, and description.
  • Users can search for specific menu items using a search functionality.
  • The app uses Jetpack Compose for building the UI, providing a modern and declarative approach to UI development.
  • It follows the MVVM architecture pattern, separating the data, view, and business logic.
  • Navigation between screens is handled using the Navigation component.
  • The app integrates with external libraries like Coil for efficient image loading and caching.
  • It leverages Kotlin’s serialization library for decoding JSON files.
  • The app demonstrates the use of state management and observables to update the UI dynamically.

Run Locally

Clone the project

  git clone https://link-to-project

Go to the project directory in Android Studio

  cd little-lemon

Add dependencies to gradle.build file

Build and Run on the emulator / physical device

Lessons Learned

What did you learn while building this project? What challenges did you face and how did you overcome them?

As I developed my project using Kotlin and Jetpack Compose, I encountered various challenges and gained valuable experience that helped me improve my skills.

  • Developed a practical mobile application, using Android technologies, as the Capstone Project in the Android Developer Program.
  • Addressed the major problem of declining takeout orders for Little Lemon Restaurant by creating a user-friendly mobile app.
  • Implemented intuitive navigation and customizability, utilizing Jetpack Compose for UI and navigation components.
  • Considered component layouts and data sources, incorporating Room database for data storage and retrieval.
  • Completed a three-module course that covered project setup, UX/UI principles, wireframing, and app functionality, leveraging the Android development ecosystem.
  • Designed an onboarding process and a navigational flow, employing Material Design guidelines and principles.
  • Implemented a food ordering process with sorting and filtering capabilities for menu items, integrating network data fetching using Ktor HTTP client library.
  • Conducted self and peer reviews, evaluating app features and design patterns, following the best practices of modern Android development.
  • Concluded the project with a graded assessment, demonstrating comprehension and application of Kotlin programming language and Android development concepts.
  • Explored the process submitting the app for publication in the Play Store or App Store, utilizing the necessary publishing guidelines and processes.
  • Engaged in end-to-end mobile application development, gaining valuable experience and expertise in Android technologies, Jetpack Compose, Room database, and Ktor HTTP client.

GitHub

View Github