Overview allows easy navigation across different streaming services. You can favorite your content, filter by genre, and search across all platforms.
- Search efficiently and conveniently for content across multiple streaming platforms.
- Filter content by type and genre across various streaming services.
- Search for content everywhere, not restricting yourself to streaming services
- Save your favorite content and visualize it in a collection.
- View detailed information, including which streaming service offers each piece of content.
The main goal of this project is to build an app using the most important libraries of the Android platform.
| Library | Description |
|---|---|
| Compose | Modern Android UI toolkit for building native UIs with a declarative syntax. |
| DataStore | Jetpack library for data persistence using Kotlin coroutines and Flow. |
| Navigation Compose | Navigation library for Jetpack Compose, facilitating navigation between composables. |
| Hilt | Dependency injection library for Android that is built on top of Dagger. |
| Room | Persistence library that provides an abstraction layer over SQLite for offline data storage. |
| AndroidX | Android extension libraries, part of Jetpack, offering backward-compatible versions of Android APIs. |
| KTX Extensions | Kotlin extensions for Android development, enhancing code readability and conciseness. |
| Live Data | Observable data holder class that is lifecycle-aware, part of the Android Architecture Components. |
| Paging | Library for handling large datasets and paginated data sources efficiently. |
| JUnit | Testing framework for Java and Kotlin, widely used for unit testing in Android development. |
| Mockk | Mocking library for Kotlin, useful for creating mocks and stubs in testing. |
| Retrofit | HTTP client for Android and Java that simplifies network requests and communication with web services. |
| Timber | Logging library for Android, providing a simple way to log messages with additional context. |
| Kluent | Fluent assertion library for Kotlin, improving the readability of assertions in tests. |
| Gradle’s Kotlin DSL | Kotlin-based Domain Specific Language for Gradle build scripts. |
| Gradle Version Catalogs | Centralized management of library versions in Gradle builds, improving dependency version consistency. |
| Remote Config | Firebase service for remotely configuring your app's behavior without publishing app updates. |
| Analytics | Analytics solution by Firebase, providing insights into user behavior and app performance. |
| Crashlytics | Firebase service for crash reporting, helping developers identify and fix issues causing app crashes. |
| Coil | Coil is a Kotlin-first image loading library for Android that prioritizes simplicity and performance. |
This project contains environment variables that streamline the compilation process in the homologation and production environments (HMG and PRD) for the Overview Android project. These variables encompass the API key, signature flags, and key storage information for different environments.
| Environment Variables | Description |
|---|---|
OVER_API_KEY |
API key for TMDB API |
OVER_ACTIVE_SIGNING |
Boolean Flag to activate or not App Signing, value is true or false |
OVER_HMG_KEYSTORE |
Homologation keystore file path |
OVER_HMG_PASSWORD |
Password for homologation keystore |
OVER_HMG_KEY_ALIAS |
Key alias for homologation keystore |
OVER_PRD_KEYSTORE |
Production keystore file path |
OVER_PRD_PASSWORD |
Password for production keystore |
OVER_PRD_KEY_ALIAS |
Key alias for production keystore |
You can create a script to configure all environment variables in your operating system. Using scripts offers significant advantages in terms of automation and reproducibility. In the following sections, we will demonstrate how to create such scripts for both Windows and Linux operating systems.
setx OVER_API_KEY "f0d4ff18152fd5ff09fb0b86f20f5d4f"
setx OVER_ACTIVE_SIGNING true
setx OVER_PRD_KEYSTORE "C:\\keystores\\overview\\prd\\prd_keystore.jks"
setx OVER_PRD_PASSWORD "set_here_your_password_value"
setx OVER_PRD_KEY_ALIAS "alias"
setx OVER_HMG_KEYSTORE "C:\\keystores\\overview\\hmg\\hmg_keystore.jks"
setx OVER_HMG_PASSWORD "set_here_your_password_value"
setx OVER_HMG_KEY_ALIAS "alias"
Windows
.batscript to set environment variables.
#!/bin/bash
export OVER_API_KEY="f0d4ff18152fd5ff09fb0b86f20f5d4f"
export OVER_ACTIVE_SIGNING=true
export OVER_PRD_KEYSTORE="~/keystores/overview/prd/prd_keystore.jks"
export OVER_PRD_PASSWORD="set_here_your_password_value"
export OVER_PRD_KEY_ALIAS="alias"
export OVER_HMG_KEYSTORE="~/keystores/overview/hmg/hmg_keystore.jks"
export OVER_HMG_PASSWORD="set_here_your_password_value"
export OVER_HMG_KEY_ALIAS="alias"
Linux
.bashscript to set environment variables.
Thank you for considering contributing to this project! Follow these steps to contribute:
We strongly recommend using git flow and conventional commits practices
- Fork the repository.
- Create a new branch for your feature (git checkout -b feature/my-new-feature).
- Make your changes and commit them (git commit -m 'Add some feature').
- Push your branch to your fork (git push origin feature/my-new-feature).
- Create a new Pull Request to the
developbranch of this repository.
Please make sure to provide a clear description of your changes when submitting a pull request. We appreciate your contributions!
Léo Alves |
|---|
