GithubHelp home page GithubHelp logo

littlelemon_android's Introduction

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:

The customers of Little Lemon Restaurant prefer to order their food through a mobile application for its convenience. The app is designed to provide a pleasant and user-friendly experience, enabling individuals to easily browse the restaurant's menu, customize their orders, and place takeout orders. It enhances the dining experience by providing an intuitive interface for navigating different sections, sorting and filtering menu items, and seamlessly completing the food ordering process. The primary aim of the app is to attract and retain customers who prefer a modern and convenient way of ordering food from the restaurant.

Features

The app is a Mediterranean restaurant application with a modern twist on traditional recipes. It features a visually attractive home screen with a hero section that displays an image and descriptive text. The menu section exhibits a list of items fetched from a database. Each menu item comprises an image, title, price, and description. The app provides users with a quick search functionality to find specific menu items. It uses Jetpack Compose to build the user interface, which provides a modern and declarative approach to UI development. The app follows the MVVM architectural pattern, which separates data, view, and business logic. The Navigation component handles navigation between screens. The app integrates with external libraries like Coil to load and cache images efficiently. It uses Kotlin's serialization library for decoding JSON files. The app showcases the usage of state management and observables to update the UI dynamically.

Run Locally

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.

I developed a practical mobile application using Android technologies as part of the Android Developer Program. The application was the Capstone Project for the course. The central problem was the declining takeout orders for Little Lemon Restaurant. To solve this, I created a user-friendly mobile app that addressed the issues of menu navigation and ordering.

I implemented intuitive navigation and customizability to achieve this, using Jetpack Compose for UI and navigation components. I also considered component layouts and data sources, using the Room database for storage and retrieval. During the course, I completed a three-module program that covered project setup, UX/UI principles, wireframing, and app functionality.

To enhance the user experience, I designed an onboarding process and navigational flow. I employed Material Design guidelines and principles throughout the app. The app included a food ordering process with sorting and filtering capabilities for menu items. I integrated network data fetching using the Ktor HTTP client library.

To ensure high-quality development, I conducted self and peer reviews, evaluating app features and design patterns, following the best practices of modern Android development. I concluded the project with a graded assessment demonstrating my comprehension and application of Kotlin programming language and Android development concepts.

I also learned about submitting the app for publication in the Play Store or App Store, utilizing the necessary publishing guidelines and processes. This project gave me valuable experience and expertise in Android technologies, Jetpack Compose, Room database, and Ktor HTTP client.

littlelemon_android's People

Contributors

supunisharawk avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.