Skip to content

🌳Shopping app with MAD skills and based on MVVM. Developed with Jsoup, Hilt, Material Design 3 and Jetpack libraries(Compose, Room, Work Manager, Proto DataStore, etc).

Notifications You must be signed in to change notification settings

rulerhao/EvgaWatcher

Repository files navigation

titleimage

License API Build Status Github

🌎 Observer for EVGA products lovers. Notify you when the price and stock availability are updated.

Google play

🌲 Purpose

  • Implementing Jetpack Compose for entire UI.
  • Implementation of Android app with Jetpack libraries like work manager.
  • Doing background tasks with Coroutines, flow and livedata.
  • Following clean architecture principles.
  • Adopting android ci as the ci/cd tools for checking build and unit test passable.

🚈 Demonstrate

All Products Screen

Favorite Products Screen

Others Screens

💡 Tech stack

  • Coroutines + Flow + LiveData for asynchronous.
  • Hilt - Dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.
  • Repository Pattern
  • Jetpack
    • LiveData LiveData is lifecycle-aware and ensuresonly updates app component observers that are in an active lifecycle state.
    • ViewModel - Manages UI-related data holder and lifecycle aware. Allows data to survive configuration changes such as screen rotations.
    • Room - The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
    • Compose - Android’s modern toolkit for building native UI. It simplifies and accelerates UI development on Android.
    • Data Store - A data storage solution that allows you to store key-value pairs or typed objects with protocol buffers and uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.
    • Work Manager - The persistent working solution for android after background task restriction becomes harder.
  • Architecture
    • MVVM Architecture (View - ViewModel - Model)
  • Glide - Loading images from network.
  • Material Design 3 - The latest version of Material Design includes personalization and accessibility features that put people at the center.
  • Jsoup - A Java library that implements the WHATWG HTML5 specification and parses HTML to get information.
  • Unit Test
    • Junit 4 - Unit testing framework for the Java.

📘 Data

The information of gpu products is crawling from Evga.

MAD Score

MAD Score

📝 License

Copyright 2022 RulerHao(Jia-Hao Tsao) Reserved.

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.

About

🌳Shopping app with MAD skills and based on MVVM. Developed with Jsoup, Hilt, Material Design 3 and Jetpack libraries(Compose, Room, Work Manager, Proto DataStore, etc).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published