Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yehya403/little_lemon_app

This Android app serves as the final project for the Meta Android Developer Professional Certificate program.
https://github.com/yehya403/little_lemon_app

coil jetpack-compose kotlin ktor navigation room sharedpreferences

Last synced: 6 days ago
JSON representation

This Android app serves as the final project for the Meta Android Developer Professional Certificate program.

Awesome Lists containing this project

README

        

# Little Lemon Food App

## About

Welcome to the Little Lemon Food App, the Android App Capstone Project developed as part of the Meta Android Developer Professional Certificate program. This application empowers users to effortlessly browse the menu of the restaurant directly from their mobile devices.

## Screenshots

![Example Image](https://github.com/Yehya403/little_lemon_app/blob/main/screens/Little-Lemon-App-all-screens.png)

## Technologies

- **Android Studio**
- **Kotlin** - Jetpack Compose

## Installation

1. Clone the repository using Git:
```bash
git clone https://github.com/Yehya403/little_lemon_app
```

2. Open the project in Android Studio.

3. Build and run the app on an Android device or emulator.

## Features

- Utilizes **Jetpack Compose** for a modern and declarative UI development approach.
- Follows the **MVVM architecture pattern**, ensuring a clear separation of data, view, and business logic.
- Seamless navigation between screens facilitated by the **Navigation component**.
- Uses **SharedPreferences** for secure user data storage.
- Integrates **Ktor** for efficient network data fetching.
- Implements **Room** for robust local storage of menu data.
- Leverages **Kotlin's serialization library** for efficient JSON file decoding.
- Integrates with external libraries such as **Coil** for optimized image loading and caching.

## Contributing

Pull requests are encouraged! For significant changes, kindly open an issue first to initiate a discussion about the proposed modifications. Remember to update tests as necessary.