GitHunt
KE

kenmusima/Cinema

Mobile app to show movies and enable users to book and pay through MPESA

Cinema

CinemaApp is an application that uses a section of Android Jetpack libraries and also Retrofit to display data from
TheMovieDB API in terms of popular movies for booking using MPESA.

Prerequisites

To setup the project add the following secret and keys in local.properties file:
MovieDB API Key

apiKey=""

Google Maps API Key

MAPS_API_KEY=""

Mpesa API Consumer Key, Consumer Secret, Passkey,Business ShortCode

CONSUMER_KEY=""
CONSUMER_SECRET=""
PASSKEY=""
BUSINESS_SHORT_CODE=""

Google Functions Callback Url

CALLBACK_URL=""

Firebase Setup tutorial
Firebase Setup
Firebase Authentication

To run the Project build using Android Studio or Intelli J and all the required dependencies will be downloaded and installed.

Architecture

The project uses MVVM architecture pattern.

Libraries Used

  • ViewModel - Store and manage UI-related data in a lifecycle conscious way.
  • ViewBinding - Library that helps write code that interacts with views more easily.
  • Navigation Component - Android Jetpack's Navigation component helps in implementing navigation between fragments.
  • Retrofit - To access the Rest Api.
  • Dagger Hilt - For Dependency Injection.
  • Paging 3 - Allow pagination of the data.
  • Datastore - To store seat IDS in key value pairs.
  • MpesaDaraja - Mobile Money transaction api.
  • Room - Used as local database to store booked tickets.
  • GOOGLE CLOUD FUNCTIONS - functions as a service (FaaS) to run your code with zero server management.

UI

CREDIT FOR ICON

Mobile Payment icon by Icons8

Languages

Kotlin98.5%JavaScript1.5%

Contributors

Created January 6, 2022
Updated December 13, 2022
kenmusima/Cinema | GitHunt