Skip to content

abdulwahabhassan/peng

Repository files navigation

Peng

Platform License API Build Status

Peng is an e-commerce mobile application built with the latest and modern Android development tools

Preview

img one img two img three img four

Configurations

  • Minimum SDK level 23
  • Compile SDK version 32
  • Current version code 1
  • Current version name "1.0"

Tech stack & Third-party libraries

  • Kotlin, Coroutines + Flow for asynchronous operations and background processes.
  • Jetpack
    • Lifecycle - Observe Android lifecycles and handle UI states upon the lifecycle changes.
    • ViewModel - Manages UI-related data holder and lifecycle aware. Allows data to survive configuration changes such as screen rotations.
    • ViewBinding - Generates binding classes for XML layout files.
    • LiveData - Lifecycle-aware observable data holder class.
    • Room - Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
    • DataStore - Data storage solution for key-value pairs or typed objects with protocol buffers.
    • Hilt - Manage dependency injection.
  • Architecture
    • MVVM Architecture (Model - View - ViewModel)
    • Repository Pattern
  • Retrofit2 & OkHttp3 - Construct the REST APIs.
  • Moshi - A modern JSON library for Kotlin and Java.
  • Timber - A logger with a small, extensible API.
  • Material-Components - Material design components for building ripple animation, and CardView.
  • Custom Views / Animations

App Architecture

This app is based on the MVVM architecture and the Repository pattern.

Webpage

License

Designed and developed by 2022 devhassan (Hassan Abdulwahab)

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.