Skip to content
This repository has been archived by the owner on Jan 28, 2023. It is now read-only.

Latest commit

 

History

History
124 lines (84 loc) · 6.25 KB

README.md

File metadata and controls

124 lines (84 loc) · 6.25 KB

Wak+

Kotlin Version API AGP License

Wak+ is an application that helps you to conveniently access to WAKTAVERSE member's SNS content such as YouTube, Twitch, Instagram, and Twitter in one app.

WAK ENT LOGO

Tech stack & Open-source libraries

Android

  • Minimum SDK level 23
  • Kotlin based, Coroutines + Flow for asynchronous.
  • JetPack
    • Lifecycle - Create a UI that automatically responds to lifecycle events.
    • LiveData - Build data objects that notify views when the underlying database changes.
    • ViewModel - Store UI related data that isn't destroyed on app rotations.
    • Room - Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
    • DataBinding - Useful to bind data directly through layouts xml file, so no findViewById() anymore.
    • Navigation - Handles navigating between your app's destinations.
    • DataStore - Data storage solution that uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.
  • Hilt - Dependency injection.
  • Coil - An image loading library for Android backed by Kotlin Coroutines.
  • Retrofit2 & OkHttp3 - Construct the REST APIs.

Caching API Data (Currently Updating)

Features

SNS & Streamer Selection

Switch from Twitch to Youtube Content Show Content from the Selected Streamer Show Content from All Streamers

Themes

Multiple Color Themes Change Dark Themes by System Default Dark / Light / System Default Options

Favorites

Add or Remove Content from Favorites Filter by SNS

Network Connectivity

Network Disconnected Network Reconnected

Architecture

Wak+ is based on the MVVM architecture and the Repository pattern.

Currently, data is obtained through direct API calls from web services such as Youtube and Twitch.

However, this method has an API limitation problem, so the method of caching in Firebase Cloud Firestore will be applied.

Design in Figma

Figma

MAD Score

MAD Score

License

Designed and developed by 2022 Junseop Lim

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.