Skip to content

Android app to check Head 2 Head between two specific teams from the Brazilian Football Championship.

License

Notifications You must be signed in to change notification settings

N0stalgiaUltra/Head2HeadApp

Repository files navigation

Head2HeadApp

Android app to check Head 2 Head between two specific teams from the Brazilian Football Championship. Personal project created to display my knowledge as a developer.

Head2Head

License API
WhatsApp Linkedin Gmail

Head 2 Head App is a native Android App made with Kotlin. The app is capable of displaying data from a direct confrontation (Head 2 Head) between two teams from the Brazilian League; The count of wins and ties along with cards containing past matches are displayed in a specific scene, thanks to Recycler View and Live Data; maintaining the model and view separation with MVVM and utilizing Clean Architecture and SOLID patterns to make the code clean, reusable and decoupled. Some of the data are cached inside the device´s database to improve the speed, also, the head to head data comes from a remote origin.


screenshot screenshot screenshot

Download

Disponível no Google Play

Tech Stack

  • Minimum SDK Level 25

  • Kotlin

  • Jetpack

    • Live Data: Used for observe data from a reactive point of view. Allowing the data used in UI to be updated automatically.
    • Lifecycle: Observe the Android lifecycle and manipulate the states from the UI after the lifecycle change.
    • ViewModel: Used to retrieve the data from the Model layer and update the data from View.
    • ViewBinding: Manages the XML layout views in Kotlin through a class.
    • Recycler View: Show a more efficient way of displaying a list of Views in the screen, recycling the views for better performance.
    • Room: The persistency library that offers a abstraction layer on top of SQLite to allow for a more robust database access.
  • Architecture

    • MVVM (Model-View-ViewModel) + Clean Architecture: The first item is used to separate the logic of the app's UI, helping with testability and organization; also, the Clean Architecture helps to build the app's main system with well designed layers, who work with independency, facilitating with the scalability and maintenance.
    • Repository pattern: This pattern help with the data layer´s abstraction
  • Libraries

    • Retrofit & OkHttp: Used to make the communication with a RESTful API
    • Glide: Used to load images and cacheying
    • Koin: Used for Dependency Injection
    • Junit + Mockito: Used to create and run unit tests
    • Espresso: Used to create and run instrumented/UI tests

Architecture

Head2HeadApp was built using MVVM, Clean Architecture and the Repository pattern. Following Google´s official recomendation

Third Party APIs

API Sports, this API provides all kind of data related to sports and series and it have a limited usage for free accounts.

Features

Choose teams from Brazlian Football League

screenshot

List of all teams created with a Custom adapter to Spinner. The data is gathered from a API, cached to the local database and then displayed to the user.

Head to Head Screen

Users can check the overall wins and ties from a duel, also there are cards with the latests scores, displayed by Recycler View and Live Data.

License

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Privacy Policy

Privacy Policy
Your privacy is important to us. It is Head to Head App's policy to respect your privacy regarding any information we may collect from you across our website, Head to Head App, and other sites we own and operate.

We only ask for personal information when we truly need it to provide a service to you. We collect it by fair and lawful means, with your knowledge and consent. We also let you know why we’re collecting it and how it will be used.

We only retain collected information for as long as necessary to provide you with your requested service. What data we store, we’ll protect within commercially acceptable means to prevent loss and theft, as well as unauthorised access, disclosure, copying, use or modification.

We don’t share any personally identifying information publicly or with third-parties, except when required to by law.

Our website may link to external sites that are not operated by us. Please be aware that we have no control over the content and practices of these sites, and cannot accept responsibility or liability for their respective privacy policies.

You are free to refuse our request for your personal information, with the understanding that we may be unable to provide you with some of your desired services.

Your continued use of our website will be regarded as acceptance of our practices around privacy and personal information. If you have any questions about how we handle user data and personal information, feel free to contact us.

More Information
Hopefully that has clarified things for you and as was previously mentioned if there is something that you aren't sure whether you need or not it's usually safer to leave cookies enabled in case it does interact with one of the features you use on our site.

This policy is effective as of Sep 2023.

About

Android app to check Head 2 Head between two specific teams from the Brazilian Football Championship.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages