An Android app where you can view and examine the details of fast food divided into categories.

Overview

๐Ÿ” FastFood

An Android application where you can view and examine the details of fast food divided into categories.

๐Ÿ›  Tech Stack & Open-Source Libraries

  • Kotlin - Google officially supports Kotlin on Android as a โ€œfirst-classโ€ language and it has a a lot of benefits.
  • Coroutines - A coroutine is a concurrency design pattern that can use on Android to simplify code that executes asynchronously.
  • MVVM Architecture - Modern, maintainable, and Google-suggested app architecture.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • A single-activity architecture, using the Navigation component to manage fragment operations.
    • ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to write code more easily that interacts with views.
    • LiveData - Data objects that notify views when the underlying database changes.
    • Lifecycle - Perform an action when lifecycle state changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • Repository - Located in the data layer that contains application data and business logic.
  • Dependency Injection
    • Hilt - Easy implementation and less boilerplate code than Dagger2.
  • Networking
    • Retrofit - A type-safe HTTP client for Android and Java.
    • OkHttp - An HTTP client that efficiently make network requests.
  • Image Loading
    • Glide - An image loading and caching library for Android focused on smooth scrolling.
  • Design
    • Material Design 3 - Material Design is an adaptable system of guidelines, components, and tools that support the best practices of user interface design. Backed by open-source code, Material Design streamlines collaboration between designers and developers and helps teams quickly build beautiful products.
    • Shimmer for Android - An Android library that provides an easy way to add a shimmer effect to any view in an Android app

Package Structure

fastfood/          # Root package
โ”œโ”€ data/           # Data layer
โ”‚  โ”œโ”€ remote/      # Api service
โ”‚  โ”œโ”€ model/       # Data transfer objects for remote response
โ”‚  โ”œโ”€ mapper/      # Mapper for remote responses
โ”‚  โ”œโ”€ repository/  # Repository implementations
โ”œโ”€ di/             # Dependency injection module
โ”œโ”€ domain/         # Domain layer
โ”‚  โ”œโ”€ model/       # UI model
โ”‚  โ”œโ”€ repository/  # Repository interface
โ”‚  โ”œโ”€ util/        # Domain mapper
โ”œโ”€ ui/             # Presentation layer
โ”‚  โ”œโ”€ detail/      # Product details
โ”‚  โ”‚  โ”œโ”€ model/    # Product UI state
โ”‚  โ”œโ”€ home/        # Main screen (Products, categories)
โ”‚  โ”‚  โ”œโ”€ model/    # UI state for products & categories
โ”œโ”€ util/           # Utility classes
โ”‚  โ”œโ”€ extension/   # Kotlin extensions

License

MIT License

Copyright (c) 2022 Muhammed Esad Cรถmert

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
You might also like...
A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends!
A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends!

Meme Share A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends! Tech stack 100% wri

sample project that shows you how you can use Ktor to creat a server for real Project.

Ktor-Sample This is a sample project that shows you how you can use Ktor to creat a server for real Project. What is done Save data to database (Get a

Plugin and Desktop app for parsing layout xml into Composable code

composed-xml Inspired by - Recompose composed-xml is a tool for parsing Android layouts into Jetpack Compose code. It can work as both Desktop app or

A clean-aesthetically pleasing Measuring Application, which uses relevant sensors-converts raw sensor data into human readable formatted outputs-and displays accurate measurements.
A clean-aesthetically pleasing Measuring Application, which uses relevant sensors-converts raw sensor data into human readable formatted outputs-and displays accurate measurements.

Measure App A clean-aesthetically pleasing Measuring Application, which uses relevant sensors-converts raw sensor data into human readable formatted o

MiStoryView is a simple configurable library to integrate stories features into your social media android application.
MiStoryView is a simple configurable library to integrate stories features into your social media android application.

MiStoryView MiStoryView is a simple configurable library to integrate stories features into your social media android application. Preview Key feature

๐Ÿ—ผ yukata (ๆตด่กฃ) is a modernized and fast GraphQL implementation made in Kotlin

๐Ÿ—ผ yukata ๆตด่กฃ - Modernized and fast implementation of GraphQL made in Kotlin yukata is never meant to be captialised, so it'll just be yukata if you me

A study into creating a fully automatic FRC robot

AutoFRC This is a study into creating a fully automatic FRC robot. This process relies on several key algorithms: pose estiation: using the WpiLib Dif

Plugin to integrate EventStoreDB into Ktor-Server!

Ktor Plugin EventStoreDB EventStoreDB is an open-source database technology that stores your critical data in streams of immutable events. It was buil

Kafka Streams Processor to unwrap Cร˜SMOS blocks into Cร˜SMOS transactions
Kafka Streams Processor to unwrap Cร˜SMOS blocks into Cร˜SMOS transactions

Kafka Processor Cร˜SMOS-Block A Kafka Streams Processor to unwrap Cร˜SMOS blocks into Cร˜SMOS transactions. Purpose The Kafka Processor Cร˜SMOS-Block is b

Owner
Muhammed Esad Cรถmert
Android Developer
Muhammed Esad Cรถmert
Search in the categories of movies, music, e-books and podcasts with the keyword

CaseStudy In this application, you can search in the categories of movies, music, e-books and podcasts with the keyword you want, add them to your fav

Abdullah Furkan Titiz 4 Dec 6, 2021
A clone of Zomato, A Online Food Ordering App using Jetpack Compose

Zomato-Clone A clone of Zomato, A Online Food Ordering App using Jetpack Compose Below are a few Screenshots of the app till now -> Screens Demo Login

Yugesh Jain 52 Nov 27, 2022
An e-commerce app which provide a new platform to order food items from various restaurants

Food_App_Internshala An e-commerce app which provide a new platform to order food items from various restaurants. Splash and Login Page Opening of the

Partha Sarathi Sahu 0 Apr 26, 2022
๐Ÿ“CookHelper - food social network. The Api and Websocket are based on Ktor framework. Dependency injection with Koin library.

CookHelper [ ?? Work in Progress ?? ] CookHelper is a cross-platform application that will allow you to cook a delicious dish from an existing recipe

Arthur 11 Nov 9, 2022
A simple store project that includes a list of products, search on products, details of the product, and review submission.

AdidasTest A simple store project that includes a list of products, search on products, details of the product, and review submission. Summary Technol

Mohammad 5 May 8, 2021
Astronomy Picture of the Day Nasa(APOD) media listing and show picture details.

Astronomy Picture of the Day Nasa(APOD) media listing and show picture details. Built to learn and use of Latest Android development libs using Coroutines, Flow, Dagger-Hilt, Architecture Components, MVVM, Room, Retrofit, Material Guideline)

pRaNaY 5 Oct 18, 2022
This is a practice app. An app that you can find random recipes and choose the ones you like.

A food suggestion app like Tinder This is a practice app. In this app, you can find random recipes and choose the ones you like. This is main menu. Yo

Yunus Emre OCAK 4 May 25, 2022
Track RPG Playthrough Details

Shattered Ring Tracker This project is an RPG game tracker where the user can keep a journal of details about their game, including: NPCs Track the NP

Nathan Contino 1 Mar 16, 2022