Skip to content

acasadoquijada/planos-y-centellas-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Planos y Centellas

NOTE

This app is DEPRECATED please use this one instead

Planos y Centellas logo

Planos y Centellas is a podcast about movies and series by Juan Hernandez y Manu Vacas. You can find more information about it in its Ivoox webpage.

The purpose of this application is to gather all the relevant information about this podcast in the same place.

Application description

The application contains 5 different sections for the user to explore:

  • Home
  • Episodes
  • News
  • Social Networks
  • Patreon

Home

Here general information about Planos y Centellas is presented to the user as a welcome screen.

Episodes

A list with the episodes published by Planos y Centellas in Ivoox. TBD if the user will be able to listen to them in the app or in the Ivoox app

News

In this section, the user will see the upcoming episodes for the current week

Social Networks

Contains all the Planos y Centellas social networks, go ahead and subscribe to not miss anything!

Patreon

In this section, the awards of being a patreon member and displayed. It also bring the posibility to the user to go to Patreon.com and become one!

Application tecnical details

In this section the tecnical details about the app are going to be discussed.

Architecture

The application contains 1 activity and some fragments, following the single Activity pattern. For the app navigation the Navigation Component is used.

The architecture selected is Model-View-ViewModel (MVVM). There is a ViewModel (HomeViewModel) instance shared by all the Fragments. This ViewModel uses a Repository class (Repository) to obtain the data. Equally, the Repository class uses a Provider class in order to achieve the required data.

In addition to this, there is a second ViewModel (PlayerViewModel) that handles all the operations related to the media player in order to reproduce the episodes.

This is a clear implementation of the MVVM patter as it can be seeing here

Data

The data is obtained when the user starts the application. Currently is not possible to update the data when the app is running, this may change in the future.

In order to obtain the data, web scrapping is performed in different webpages. For this purpose, some model classes have been created (see model package). Jsoup is the library used for the scrapping.

Testing

Please check here for more information about the testing strategy followed.

In addition to this, LeakCanary is used for checking posible memory leaks

Screenshots

main episode news main

Libraries

External resources