• Stars
    star
    146
  • Rank 252,769 (Top 5 %)
  • Language
    Kotlin
  • License
    Apache License 2.0
  • Created over 2 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A fake shopping app built with Jetpack Compose consuming the FAKE STORE API

Joomia

Joomia ๐Ÿ›’

A fake shopping app built with Jetpack Compose consuming FAKE STORE API

Note:

  • The API has some endpoints that does nothing i.e adding item to cart, registering a user and many more. So some screens have UI implementation but no logic
  • Contributions are welcomed, because the app is far away from being good ๐Ÿ˜‚

To Login - use :

- Username: johnd
- Password: m38rmF$

Demo

Tech Stack.

  • Kotlin - Kotlin is a programming language that can run on JVM. Google has announced Kotlin as one of its officially supported programming languages in Android Studio; and the Android community is migrating at a pace from Java to Kotlin.

  • Jetpack components:

    • Jetpack Compose - Jetpack Compose is Androidโ€™s modern toolkit for building native UI. It simplifies and accelerates UI development on Android. Quickly bring your app to life with less code, powerful tools, and intuitive Kotlin APIs.
    • Android KTX - Android KTX is a set of Kotlin extensions that are included with Android Jetpack and other Android libraries. KTX extensions provide concise, idiomatic Kotlin to Jetpack, Android platform, and other APIs.
    • AndroidX - Major improvement to the original Android Support Library, which is no longer maintained.
    • Lifecycle - Lifecycle-aware components perform actions in response to a change in the lifecycle status of another component, such as activities and fragments. These components help you produce better-organized, and often lighter-weight code, that is easier to maintain.
    • ViewModel -The ViewModel class is designed to store and manage UI-related data in a lifecycle conscious way.
    • LiveData - LiveData is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services. This awareness ensures LiveData only updates app component observers that are in an active lifecycle state.
    • Paging 3 library - The Paging library helps you load and display pages of data from a larger dataset from local storage or over network. This approach allows your app to use both network bandwidth and system resources more efficiently.
    • Room database - The Room persistence library provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite.
    • Preferences DataStore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers. DataStore uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.
  • Kotlin Coroutines - A concurrency design pattern that you can use on Android to simplify code that executes asynchronously.

  • Retrofit - Retrofit is a REST client for Java/ Kotlin and Android by Square inc under Apache 2.0 license. Its a simple network library that is used for network transactions. By using this library we can seamlessly capture JSON response from web service/web API.

  • GSON - JSON Parser,used to parse requests on the data layer for Entities and understands Kotlin non-nullable and default parameters.

  • Kotlin Flow - In coroutines, a flow is a type that can emit multiple values sequentially, as opposed to suspend functions that return only a single value.

  • Dagger Hilt - A dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.

  • Ramcosta Navigation Library - A KSP library that processes annotations and generates code that uses Official Jetpack Compose Navigation under the hood. It hides the complex, non-type-safe and boilerplate code you would have to write otherwise.

  • Logging Interceptor - logs HTTP request and response data.

  • Coil- An image loading library for Android backed by Kotlin Coroutines.

  • Timber- A logger with a small, extensible API which provides utility on top of Android's normal Log class.

  • CI/CD:

    • GitHub Actions - GitHub Actions makes it easy to automate all your software workflows, now with world-class CI/CD. Build, test, and deploy your code right from GitHub. Make code reviews, branch management, and issue triaging work the way you want.

License

Copyright 2023 JoelKanyi

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

More Repositories

1

FocusBloom

A Kotlin Multiplatform app that helps users enhance their productivity and time management skills through focused work intervals and short breaks.
Kotlin
427
star
2

Muviz

A Jetpack compose app that consumes the TMDB API to display movie and Tv shows and their details
Kotlin
233
star
3

sain

[ใ‚ตใ‚คใƒณ] A Compose Multiplatform library for capturing and exporting signatures as ImageBitmap with customizable options. Perfect for electronic signature, legal documents and more.
Kotlin
187
star
4

kompose-country-code-picker

Kompose Country Code Picker is a Jetpack Compose library based on Material 3 (M3) that provides a country code picker for Android apps.
Kotlin
149
star
5

mealtime

MealTime is a MultiModule recipe app built with Jetpack Compose. It helps you add your own recipes, and search online recipes.
Kotlin
79
star
6

NewsApp

A simple Android news app built with Jetpack Compose that fetches news from the News API.
Kotlin
71
star
7

StarWars

An Android app built with Kotlin, consuming StarWars API to display characters of the popular StarWars Movie. It is built with the MVVM pattern and the latest Jetpack components.
Kotlin
49
star
8

HorizontalCalendarView

๐Ÿ“† A Jetpack Compose Horizontal Calendar View Library
Kotlin
38
star
9

KenyanCounties

A Simple Android Library for Kenyan Counties
Kotlin
18
star
10

Hali-ya-Anga

An Android app built with Jetpack Compose consuming Weather API to help users get weather updates.
Kotlin
15
star
11

TableReservationCard

Kotlin
15
star
12

RickyMortyAPIDemo

A simple app that consumes The Ricky & Morty API to display the tv show characters, was trying to learn about pagination with the paging 3 library, built with clean architecture principles and jetpack libraries
Kotlin
10
star
13

FirebaseCoroutinesDemo

Kotlin
9
star
14

HiltDemo

A simple app that consumes Github REST APIs to display public repositories of Opensource254 org on github, was trying to learn about dependency injection with dagger hilt, built with clean architecture principles and jetpack libraries
Kotlin
9
star
15

Twende-Shopping

A simple Android app implementing basic online shopping application features ๐Ÿ›’๐Ÿ›’๐Ÿ›’
Kotlin
7
star
16

SprintTexter

A simple app that sends SMSs after every one 1 second. I was inspired by those TV and Radio competitions in Kenya where people are asked a given question, then that person that will send alot of messages will emerge the winner ๐Ÿ˜‚ ๐Ÿ˜‚.
Kotlin
7
star
17

Shoppie

A simple shopping app that I was practicing with on Firebase with MVVM and google Sign In.
Kotlin
7
star
18

OnBoardingScreens

A simple implementation of a Splash Screen & OnBoarding Screens using Jetpack Navigation component and Lottie animations
Kotlin
7
star
19

MealTime

MealTime is a MultiModule meal planning app built with Jetpack Compose. It helps you create custom meal plans, add your own recipes, and search online recipes.
Kotlin
7
star
20

NavigationDemo

Kotlin
6
star
21

Savings-Zetu-App

My 3rd year software project was an Android app that helps students of @KibabiiUni make monthly contributions for class welfare purposes. That money is given to those classmates who are in need or when uncertainties occur.
Kotlin
5
star
22

ModalBottomSheetDemo

Bottom sheet with Navigation Components
Kotlin
5
star
23

FirebasePhoneAuth

Just a demo project, for anyone looking how to do phone authentication (OTP) in Android
Kotlin
4
star
24

FirebasePushNotificationsDemo

Kotlin
4
star
25

TabLayoutExample

Kotlin
4
star
26

ChickenApp

Kotlin
4
star
27

ktor-chicken-api

Kotlin
4
star
28

Paging3Demo

Hutsy Dev Session: Mastering Paging 3 With Compose
Kotlin
4
star
29

Data-structures-Java

An implementation of the stack(data structures) in Java
Java
3
star
30

mkulima

[ ๐Ÿšง WIP] A new Flutter project to combine what I have learned so far about Flutter
Dart
3
star
31

GolangRestApi

A simple Go Rest Api with CRUD operations for books
Go
2
star
32

GithubActionsExample

Kotlin
2
star
33

DiceRoller

Kotlin
2
star
34

Computer-Science-class-2018-2019-Git-Github-Session

Road to open source contribution
2
star
35

HorizontalScrollingRecyclerview

Kotlin
2
star
36

RecyclerView

๐Ÿ”ท A demo app trying to use the RecyclerView and also querying the Github API to get top hundred android developers in Kenya. It is my first time learning the RecyclerView
Java
2
star
37

RecyclerViewItemClicksDemo

A simple app demo on demonstrating how to handle clicks in a recyclerview
Kotlin
2
star
38

cats_app

Decided to recreate the demo app we learned at Flutter North Rift
C++
2
star
39

AndroidChips

One of the cool widgets that you can use with the Material Design Components library is Chip. A Chip is a component that can represent input, filter, choice or action of a user.
Kotlin
2
star
40

TwitterSpacesClone

A simple Twitter Spaces clone app with Jetpack Compose and 100ms SDK to demonstrate the use of 100ms SDK in creating an Audio call feature in your apps.
Kotlin
2
star
41

Elephants

An app that consumes the elephants API
Kotlin
2
star
42

LifecycleAwareDemo

An object is mentioned to be lifecycle-aware if it is able to detect and respond to changes in the lifecycle state of other objects within an app
Java
1
star
43

SimpleVideoView

A simple app that plays a video clip by using the VideoView and MediaController classes.
Java
1
star
44

GoTCharactersKMM

A sample app that shows how to use Kotlin Multiplatform to share code between Android and iOS. It uses Thrones API to fetch characters from Game of Thrones.
Kotlin
1
star
45

JoelKanyi

1
star
46

ViewBinding

Kotlin
1
star
47

vueapp01

HTML
1
star
48

Data-Binding

Java
1
star
49

UnitTestsDemo

Trying how JUnit test work with the google truth library
Kotlin
1
star
50

d.light

An app that allows you to search for Github profiles of users and their repositories [d.light Android Engineer Test], for the Android Engineer Role
Kotlin
1
star
51

Edvora-Android-Test

Mobile App that shows Random Products in a Nested Recyclerview for Android [Kotlin] Developer Role at Edvora.
Kotlin
1
star
52

SwiftPlayground

Swift
1
star
53

MVI-Demo

Just trying out MVI on a login screen
Kotlin
1
star
54

ViewModelFactoryDemo

Kotlin
1
star
55

Jetpack-Compose-Session

GDSC Kibabii Jetpack Compose session
Kotlin
1
star
56

ViewPagers

Java
1
star
57

Android-Menus

Options Menu, Floating Contextual Menu, ActionMode Contextual Menu and Popup Menu
Java
1
star
58

api_exceptions_handling_flutter

C++
1
star
59

Kotlin-DSA-Playground

A repo to keep track of my exercises on Data Structures and Algorithms ๐Ÿ‹๏ธ
Kotlin
1
star
60

JoelKanyi.github.io

JavaScript
1
star
61

TodoListApp

A simple todo app with kotlin and room database
Kotlin
1
star
62

RealmDatabaseDemo

A simple ToDo app to demonstrate the use of Realm Database in android to perform some basic CRUD operations like Create, Update and Delete.
Kotlin
1
star
63

Learning-Kotlin

:octocat: This repo will keep track of my progress in learning kotlin as i prepare myself to use Kotlin for android applications development
Kotlin
1
star
64

MyPocketTrainer

WIP
Kotlin
1
star
65

NotificationsDemo

Kotlin
1
star
66

Travelmantics

An app that I am using to learn the basics of Firebase with android
Java
1
star
67

GoCrashCourse

A quick crash course on Golang
Go
1
star
68

AdanianAndroidTest

An android app built using Kotlin that consumes Pixabay API to display images and their details.
Kotlin
1
star
69

NoteAppKMM

Kotlin
1
star
70

Android-Fundamentals-ConstaintLayout

Understanding constraintLayout deeper
Kotlin
1
star
71

My-Notebook

๐Ÿ“– Android app for writing short notes. Built with MVVM pattern and Architecture Components
Java
1
star
72

NavigateWithArgumentOnPopBackStack

Kotlin
1
star
73

Covid-19-Tracker

[My first app] Covid-19 Tracker is a simple tracking Android application that lets you be updated on the current spread of Corona virus in different countries ๐Ÿ˜ท ๐Ÿ˜ท ๐Ÿ˜ท ๐Ÿ˜ท
Java
1
star
74

RPN-Postfix-Calculator

The calculator evaluates an expression in postfix and give its output
Java
1
star
75

ViewModel_LiveData_Demo

Trying android architectural components (ViewModel and LiveData) so that the app can survive configuration changes such as screen rotation
Java
1
star
76

LeadersBoard

Associate Android Developer Practice Project. Building a GADS Leaderboard Mobile Application
Kotlin
1
star
77

Checking-if-braces-brackets-or-square-brackets-are-balanced

This is an implementation of one of the applications of the stack
Java
1
star
78

HoverSDKDemo

A simple Android app to demonstrate the use of Hover SDK for M-PESA Send Money while offline.
Kotlin
1
star
79

Love-Calculator

A simple android app where you enter your name and the name of your partner/lover/crush to find Love compatibility & chances of successful love relationship. โค๏ธ ๐Ÿฅฐ ๐Ÿ˜
Kotlin
1
star
80

DatabaseDrivenPushNotifs

A demo project for sending Firebase push notifications based on data changes to Firebase realtime database
Kotlin
1
star