Skip to content

Bogomil-Stoyanov/MovieStreamingApp

Repository files navigation

Forgotten Films Android App Documentation

Contents

Overview

Forgotten Films App is an Android application for enjoying films from the past. It provides everything that you will need to immerse the user in the world of classic films.
Get it here: Forgotten Films

Tech stack:

  • Language: Kotlin
  • UI: Jetpack Compose

Features

  • The app is connected to a REST API (https://github.com/Bogomil-Stoyanov/ForgottenFilmsApi)
  • Register a user with email, password, nickname and favourite film genres
  • Login with email and password
  • Forgotten password and change password
  • Get recommended films to watch depending on your favourite genres
  • Search, watch, like, dislike and share films
  • Watch time statistics - get statistcs on your watchtime and top genres. This data is collected to imporve the recommendations algorithm.

Libraries

Forgotten Films uses the most modern libraries for Android Development

Architecture

The application is built following Clean Architecture MVVM.

Architecture

Also it is using Single Activity Architecture.

Tests

The application follows Test Driven Development.
. The tests are creted before the actual implementation All ViewModels have tests that cover the business logic.

ViewModel tests

There are automated UI tests that verify the most user intansive screens

UI tests

*Note: All tests HAVE to be ran on a REAL device as there are problems with the current version with Jetpack Compose and the testing library. These bugs should be fixed in the next release of the libraries.

Security

Security is a top priority. The application communicates to the REST API via HTTPS. When a user selects to be remembered in the device, their login credentials are saved in encrypted shared preferences.

Screenshots

Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot

Deployment

  1. Clone the repository
  2. Generate debug or a signed apk / bundle (depends on where the app will be distributed, it has to be a bundle, if uploaded to Google Play)

About

A Movie Streaming App created with Jetpack Compose

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages