Skip to content

hegleB/Moodra

Repository files navigation

2021-12-13_22-09-52



Moodra

TV프로그램과 영화에 대한 정보를 얻을 수 있는 앱이다.



ScreenShots


2021-12-13_22-09-52 2021-12-13_22-16-56 2021-12-13_22-26-10 2021-12-13_22-30-43

2021-12-13_22-40-25 2021-12-13_22-41-53 2021-12-13_22-44-08 2021-12-13_22-45-05



Project Architecture

clean_architecture

Data Layer

├── base
│   └── BasePagingSource.kt
├── database
│   ├── BookmarkDao.kt
│   └── BookmarkDatabase.kt
├── paging
│   ├── common
│   │   ├── CreditPagingSource.kt
│   │   ├── GenreAllPagingSource.kt
│   │   ├── GenrePagingSource.kt
│   │   ├── GenreViewPagerPagingSource.kt
│   │   ├── RecommendPagingSource.kt
│   │   └── SimilarPagingSource.kt
│   ├── movie
│   │   ├── MoviePagingSource.kt
│   │   ├── MovieSearchAllPagingSource.kt
│   │   └── MovieSearchPagingSource.kt
│   └── tv
│       ├── TVPagingSource.kt
│       ├── TVSearchAllPagingSource.kt
│       └── TVSearchPagingSource.kt
├── repository
│   ├── local
│   │   └── BookmarkRepositoryImpl.kt
│   └── remote
│       ├── common
│       │   └── CommonRepositoryImpl.kt
│       ├── movie
│       │   └── MovieRepositoryImpl.kt
│       ├── search
│       │   └── SearchRepositoryImpl.kt
│       └── tv
│           └── TVshowRepositoryImpl.kt
└── service
    ├── commonservice
    │   └── CommonService.kt
    ├── model
    │   └── MovieResponse.kt
    ├── movieservice
    │   └── MovieService.kt
    └── tvservice
        └── TVService.kt

Domain Layer

├── model
│   ├── common
│   │   ├── Bookmark.kt
│   │   ├── Credit.kt
│   │   ├── Detail.kt
│   │   ├── Genre.kt
│   │   ├── OtherContent.kt
│   │   └── Trailer.kt
│   ├── movie
│   │   └── Movie.kt
│   └── tv
│       └── TVshow.kt
├── repository
│   ├── bookmark
│   │   └── BookmarkRepository.kt
│   ├── common
│   │   └── CommonRepository.kt
│   ├── movie
│   │   └── MovieRepository.kt
│   ├── search
│   │   └── SearchRepository.kt
│   └── tv
│       └── TVshowRepository.kt
└── usecase
    ├── CheckBookmarkUseCase.kt
    ├── DeleteAllBookarmkUseCase.kt
    ├── DeleteBookmarkUseCase.kt
    ├── GetBookmarkRepoUseCase.kt
    ├── GetCreditRepoUseCase.kt
    ├── GetGenreAllRepoUseCase.kt
    ├── GetGenreRepoUseCase.kt
    ├── GetMovieDetailRepoUseCase.kt
    ├── GetMoviePopularRepoUseCase.kt
    ├── GetMovieRepoUseCase.kt
    ├── GetMovieSearchAllRepoUseCase.kt
    ├── GetMovieSearchRepoUseCase.kt
    ├── GetRecommendRepoUseCase.kt
    ├── GetSimilarRepoUseCase.kt
    ├── GetTVDetailRepoUseCase.kt
    ├── GetTVSearchAllRepoUseCase.kt
    ├── GetTVSearchRepoUseCase.kt
    ├── GetTVshowRepoUseCase.kt
    ├── GetTrailerRepoUseCase.kt
    ├── GetTvPopularRepoUseCase.kt
    └── SaveBookmarkUseCase.kt

Presenation

├── AppConstants.kt
├── Event.kt
├── base
│   ├── BaseActivity.kt
│   ├── BaseAdapter.kt
│   ├── BaseFragment.kt
│   ├── BasePagingAdapter.kt
│   └── BaseViewHolder.kt
├── di
│   ├── App.kt
│   ├── LocalDataSourceModule.kt
│   ├── NetworkModule.kt
│   └── RepositoryModule.kt
├── utils
│   └── KeepStateNavigator.kt
├── view
│   ├── MainActivity.kt
│   ├── SplashActivity.kt
│   ├── adapter
│   │   ├── BindingAdapter
│   │   │   ├── ImageBindingAdapter.kt
│   │   │   └── TextBindingAdatper.kt
│   │   ├── BookmarkAdapter.kt
│   │   ├── ContentsAdapter.kt
│   │   ├── CreditAdapter.kt
│   │   ├── GenreAdapter.kt
│   │   ├── GenreAllAdapter.kt
│   │   ├── HorizontalItemDecorator.kt
│   │   ├── MoviePagingAdapter.kt
│   │   ├── MovieSearchPagingAdapter.kt
│   │   ├── MovieViewPagerAdapter.kt
│   │   ├── SearchDetailLoadStateAdapter.kt
│   │   ├── TVPagingAdapter.kt
│   │   ├── TVSearchPagingAdapter.kt
│   │   ├── TVViewPagerAdapter.kt
│   │   └── TrailerAdapter.kt
│   ├── bookmark
│   │   ├── BookmarkContainerFragment.kt
│   │   └── BookmarkFragment.kt
│   ├── detail
│   │   ├── DetailFragment.kt
│   │   └── VideoFragment.kt
│   ├── genre
│   │   ├── GenreAllFragment.kt
│   │   ├── movie
│   │   │   └── MovieGenreFragment.kt
│   │   └── tv
│   │       └── TVGenreFragment.kt
│   ├── home
│   │   ├── HomeContainerFragment.kt
│   │   └── HomeFragment.kt
│   └── search
│       ├── SearchAllFragment.kt
│       ├── SearchContainerFragment.kt
│       └── SearchFragment.kt
└── viewmodel
    ├── BookmarkViewModel.kt
    ├── DetailViewModel.kt
    ├── GenreViewModel.kt
    ├── HomeViewModel.kt
    └── SearchViewModel.kt

Specifications used

아키텍쳐(Architecture), 디자인 패턴(Design Pattern) Clean Architecture, MVVM, Repository Pattern
네트워크(Network) Retrofit2
비동기처리(Async) Coroutine, Flow
의존성 주입(Dependency Injection) Dagger Hilt
내부 DB(Internal DB) Room
이미지 처리(Image Load & Download) Glide
JetPack ViewModel, Data Binding, Lifecycles, LiveData, Navigation
Other ViewPager2, CardView, RecyclerView



TMDB License

2021-12-13_22-09-52

TMDb respects the rights of copyright holders and publishers and requires all users to confirm they own the copyright or have permission from the copyright holder to upload content. We comply with the Digital Millennium Copyright Act (DMCA) and expeditiously remove content when properly notified, unless it reasonably appears to us that the content does not infringe upon copyright. Please note, however, that under Section 512(f) any person who knowingly materially misrepresents that material or activity is a copyright infringement may be subject to liability for damages. You should educate yourself as to whether content does, in fact infringe upon your copyright, or whether, for instance "fair use" under 17 U.S.C. §107 applies. If you are unsure whether the content you are reporting is infringing your legal rights, you may wish to seek legal guidance. Keep in mind that submitting intentionally misleading reports of infringement may be punishable under the Digital Millennium Copyright Act (DMCA) in the United States or similar laws in other countries.

For claims of copyright infringement, please contact our designated agent under the Digital Millennium Copyright Act:

Copyright Agent at: 489 S. El Camino Real, San Mateo, CA, 94402.

API Terms of Use

About

영화와 TV프로그램 정보 앱

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages