Coder Social home page Coder Social logo

adithya-13 / madesubmsission Goto Github PK

View Code? Open in Web Editor NEW
30.0 1.0 8.0 287.15 MB

Submission MADE (Menjadi Android Developer Expert) in Dicoding Course.

Home Page: https://www.dicoding.com/academies/165/

License: MIT License

Kotlin 100.00%
android kotlin mvvm modularization retrofit dynamic-features room koin-kotlin view-binding raw-query

madesubmsission's Introduction

Submission 2 Dicoding MADE : Movie App

Submission 2 MADE (Menjadi Android Developer Expert) in Dicoding Course.

Platform Kotlin Gradle Star Circle CI

Table of Contents

Introduction

This project is made to fulfill a Submission in Dicoding course and the last course in Android Learning path.

As you can see, this repos have 4 Branch, master, circle-ci-project-setup, submission1, submission2, You can see at Branch submission1 if you want to look at the code, and clone it with DownGit, and the branch master & submission2 is exactly same, because i merged it into branch master from branch submission2, just clone or download it if you want to see the code, thanks.

In this project, I learned many things, such as Clean architecture, Design Pattern, Networking with Retrofit, Reactive Programming with Coroutines Flow, Dependency Injection with Koin, Local Database with Room Persistence, Modularization, Dynamic Feature, Security, Useful Library, Continuous Integration, Performance, and many things.

For the 3rd Party Library i used in this project, you can look here, and for the Tech Stack, i used the MVVM Architecture Pattern, Dependency Injection (DI) with Koin, and so many things that you can see at here.

I Use the TheMovieDatabase for the data source. first thing first, you have to get the API Key from TheMovieDatabase, then, follow the instruction here.

I Hope this Project will help someone, if you feel helped with this project, you can give stars to support me, thank you very much :)

Installation

Clone or Download and Open it into Android Studio for Submission 2

    https://github.com/Adithya-13/MadeSubmsission.git

You can use the DownGit for download Submission1 separately, Copy this

    https://github.com/Adithya-13/MadeSubmsission/tree/submission1

and Paste it into DownGit, after that click Download Button, and voila, you can clone the code.

Change the API_KEY here

class RemoteDataSource(private val apiService: ApiService) {

    private val apiKey = "" //REPLACE YOUR API KEY HERE!!

    suspend fun getMovies(): Flow<ApiResponse<List<MovieResponse>>> {
       ....
    }

    suspend fun getTvShows(): Flow<ApiResponse<List<TvShowResponse>>> {
       ....
    }

}

you can get API_KEY from TheMovieDb

Demo

All Movies All Tv Shows Detail Movies Detail Tv Shows
Search Movies Search Tv Shows Favorite Movies Favorite Tv Shows

Features

  • Get All the Movies and Tv Shows
  • Search the Movies and Tv Shows
  • Favorited Movies and Tv Shows
  • Sort the Movies and Tv Shows by: Popularity, Vote, Release Date, and Random
  • Share the Movies and Tv Shows to other Application

Tech Stack

  • MVVM (Model-View-ViewModel) Architecture Pattern
  • Modularization (core module)
  • Dynamic Feature (favorite module)
  • Clean Architecture (data, domain, presentation)
  • Dependency Injection with Koin
  • Coroutines Flow
  • ViewBinding
  • Room Persistence
  • RawQuery
  • Obfuscation with Proguard
  • Encryption with SQLCipher
  • Certificate Pinning with OkHttp
  • Continuous Integration with Circle-CI

Dependencies

madesubmsission's People

Contributors

adithya-13 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.