Skip to content

CineMates is a modern android application for movie fans in which you will be able to search for movies and consult information provided by The Movie DB.

License

Notifications You must be signed in to change notification settings

iamantoniodinuzzo/CineMates

 
 

Repository files navigation

CineMates

Last Commit Contributors Forks
Stargazers Issues License

🎥 CineMates demonstrates modern Android development with Hilt, Coroutines, Flow, Jetpack (Room, ViewModel), and Material Design based on MVVM architecture and Modularization.


Logo

Download ⬇️

👷‍♂️ Section in preparation

Tech stack 🧱

  • Minimum SDK level 22
  • Kotlin based, Coroutines + Flow for asynchronous.
  • Jetpack
    • Lifecycle: Observe Android lifecycles and handle UI states upon the lifecycle changes.
    • ViewModel: Manages UI-related data holder and lifecycle aware. Allows data to survive configuration changes such as screen rotations.
    • DataBinding: Binds UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
    • Room: Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
    • Hilt: for dependency injection.
  • Architecture
    • MVVM Architecture (View - DataBinding - ViewModel - Model)
    • Repository Pattern
  • Retrofit2 & OkHttp3: Construct the REST APIs and paging network data.
  • Material-Components: Material design components for building ripple animation, and CardView.
  • Glide: Loading images from network.
  • Custom Views
    • LinearLayoutInfoView: A simple way to display a simple section of text (vertical or horizontal) consisting of a title and a value.
    • MoreLessTextView: A simple way to display an expandable TextView as needed.
    • PosterView: A simple way to display a media poster featuring an image and a title.
    • StatefulRecyclerView: A RecyclerView that handles the loading, error, and empty states.
  • Timber: A logger with a small, extensible API.

Open API 🍽️

CineMates using the TheMovieDB for constructing RESTful API.
TheMovieDB provides a RESTful API interface to highly detailed objects built from thousands of lines of data related to Movie and Tv Series.

Screenshots 🖼️

👷‍♂️ Section in preparation

Contributing 🤝

Feel free to open an Issues 🐛 or submit a Pull requests ❔ for any bugs/enhancement.

If you have ideas 💡 you can submit them here.

Find this repository useful? ❤️

Support it by joining stargazers for this repository. ⭐
Also, follow me on GitHub for my next creations! 🤩