Skip to content

🖼️ A monorepo for Artjuna, an E-Commerce Project created for Google Bangkit 2022

License

Notifications You must be signed in to change notification settings

Artjuna/artjuna-monorepo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C22-PS339 [Artjuna]

About The Project

Artjuna is a social e-commerce platform where customers can create and buy personalized products by combining their own style inspiration with various art styles of artisans with the help of AI technology.

Team Members

Team ID : C22-PS339

Name Bangkit ID Learning Path University Contact
Aditya Wardianto M7004F0217 Machine Learning Insititut Teknologi Sepuluh Nopember
Fauzia Hafida Rahmah M2010F1100 Machine Learning Universitas Indonesia
Adi Kelvianto M2002G0057 Machine Learning Institut Teknologi Bandung
Dheni Yulia Dinda Pratiwi A2008F0874 Mobile Development Universitas Gadjah Mada
Galih Indra Firmansyah A2008F0893 Mobile Development Universitas Gadjah Mada
Nathanael Lauwrent Sudrajat C7008F0881 Cloud Computing Universitas Gadjah Mada

if you are interested in discussing this project issues with us, please contact us or send an email to artjuna.bangkit@gmail.com

Artjuna Monorepo

CD Node API CD Python API

This is a monorepo for Artjuna, a project created for Bangkit 2022 Capstone Project

Artjuna App

🗡️ Artjuna demonstrates modern Android development with Koin, Coroutines, Flow, Jetpack (Room, ViewModel), and Material Design based on MVVM architecture.


Download

Go to the Here to download the latest APK.

Tech stack & Open-source libraries

  • Minimum SDK level 21
  • Kotlin based, Coroutines + Flow for asynchronous.
  • Koin for dependency injection.
  • Jetpack
    • Lifecycle - Observe Android lifecycles and handle UI states upon the lifecycle changes.
    • ViewModel & LiveData - Manages UI-related data holder and lifecycle aware. Allows data to survive configuration changes such as screen rotations.
    • ViewBinding - Generate binding class to make it easier for interacts with the views from the kotlin class.
    • Room Persistence - Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
    • Navigation - Make interactions that allow users to navigate across, into, and back out from the different pieces of content within the app
  • Architecture
    • MVVM Architecture
    • Repository Pattern
  • Retrofit2 & OkHttp3 - Construct the REST APIs.
  • Glide - Loading images from network.
  • Material-Components - Material design components for building ripple animation, and CardView.
  • Firebase Auth - Handle user authentication with many different credential
  • SDP Scalable Size Unit - Make a scalable views that supports multiple screens and devices
  • CircleImageView - Create circle image
  • Shimmer - Improve user experience by show skeleton items when the content is loading
  • Lottie - Create animation of an empty state

MAD Score

Architecture

Artjuna is based on the MVVM architecture and the Repository pattern.