Skip to content

alexymumo/E-commerceApp

Repository files navigation

E-CommerceApp


Table of Contents


Prerequisite

  • Android Studio
  • Kotlin

Architecture

TechStack

  • Kotlin - Modern but already mature programming language aimed to make developers happier. It's concise, safe, interoperable with Java and other languages, and provides many ways to reuse code between multiple platforms for productive programming.
  • Jetpack Components
    • Jetpack Compose - Modern toolkit for building native UI.
    • Android KTX - Provide concise, idiomatic Kotlin to Jetpack and Android platform APIs.
    • AndroidX - Major improvement to the original Android Support Library, which is no longer maintained.
      • Lifecycle - Perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
      • ViewModel - Designed to store and manage UI-related data in a lifecycle conscious way. The ViewModel class allows data to survive configuration changes such as screen rotations.
    • Room - Provides an abstraction layer over SQLite used for offline data caching.
    • Hilt - is a dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.
  • Retrofit - Type-safe http client and supports coroutines out of the box.
  • GSON - JSON Parser,used to parse requests on the data layer for Entities and understands Kotlin non-nullable and default parameters.
  • Coil - Image Loading Library
  • OkHttp-Logging-Interceptor - Logs HTTP request and response data.
  • Coroutines - Library Support for coroutines.
  • kotlinx.coroutines - Library Support for coroutines,provides runBlocking coroutine builder used in tests.
  • Raamcosta - It hides the complex, non-type-safe and boilerplate code you would have to write otherwise.
  • Flow - Flows are built on top of coroutines and can provide multiple values. A flow is conceptually a stream of data that can be computed asynchronously.

Screenshots

Product Screen Detail Screen Favorite Screen Cart Screen

Demo

main.mp4

Todo

  • Create full ecommerce api in golang
  • Payment intergration(Mpesa,Paypal)
  • Authentication
  • UI improvements
  • CI/CD