Proyecto escolar (CFGS) de desarrollo de aplicaciones móviles.
Ver Demo
·
Reportar Bug
·
Sugerir Característica
Índice
Busca cualquier película o serie para ver si está disponible en tus plataformas contratadas.
- Primera evaluación:
- ViewBinding
- ConstraintLayout
- RecyclerView
- Navigation Component y el plugin Safe Args con al menos 3 pantallas.
- Segunda evaluación:
- ViewModel, LiveData y/o Flow. (2 puntos)
- Arquitectura MVVM (2 puntos) con Patrón repositorio (2 puntos) con al menos una fuente de datos de las siguientes:
- Base de datos local con Room
- API Remota con Retrofit.
- El proyecto debe ir acompañado de un documento con una breve explicación del mismo, las herramientas usadas y su cometido. Con una carilla de un Word se pueden explicar los aspectos fundamentales, pero no os pongo extensión máxima.
Con los puntos anteriores será suficiente para aprobar, y dependiendo de la complejidad del proyecto o de las fuentes de datos usadas, incluso para obtener una nota de partida destacada. Es decir, puntuará mejor si usáis Room + Retrofit que si sólo usáis una de las dos.
- Cualquier otra funcionalidad será valorada positivamente (uso de menús para facilitar la navegación, inclusión de contenido multimedia como audio o vídeo, fuentes de datos adicionales, servicios,… ), etc…
- Se tendrá en cuenta la originalidad del proyecto. Es decir, si hacéis un proyecto que sea un calco de las funcionalidades y pantallas vistas en proyectos hechos en clase, se valorará menos.
- También se valorarán aspectos como la usablidad, el uso de componentes modernos Material3, la robustez (control de errores y excepciones, validación de entradas de datos, etc…)
- No se espera algo profesional, o que realmente sea útil y monetizable, pero sí algo que ponga en práctica lo visto en clase, y cualquier cosa que queráis añadir.
- ViewBinding
- ConstraintLayout
- RecyclerView
- Navigation Component y Safe Args
- ViewModel y LiveData.
- Arquitectura MVVM con Patrón repositorio.
- Base de datos local con Room
- Retrofit.
- Navigation menu.
- Otros Plugins: Json to Kotlin data class.
- Watchmode
- Pantry
Note
Los Endpoints utilizados son de acceso gratuito y su uso está limitado.
1️⃣ Al iniciar la aplicación por primera vez deberás seleccionar las plataformas de streaming que tengas contratadas; podrás cambiar tu elección desde esa misma pestaña de "Plataformas".
Note
- Suscribirse a plataformas de streaming no tiene mayor utilidad que mostrarlas a color en los resultados de búsqueda.
2️⃣ Desde la pestaña principal "Buscar", que a partir de ahora te aparecerá directamente, podrás buscar los títulos que quieras ver. Si el contenido resultante está disponible en cualquiera de tus plataformas, el logo de esta aparecerá a color, de lo contrario estará teñido de gris.
Important
Recuerda buscar el nombre original o americano de la producción, la api no contempla los títulos traducidos.
3️⃣ Interactúa con los títulos resultantes:
- Pincha en la caratula para abrir la web de IMDb con toda la información del título, trailers disponibles y contenidos similares.
- Pincha en cualquiera de las plataformas disponibles para abrir la aplicación correspondiente si la tienes instalada o, tu navegador por defecto, con la página del título.
- INTERNET
Los siguientes permisos permiten actualizar automáticamente la aplicación:
- READ_EXTERNAL_STORAGE
- WRITE_EXTERNAL_STORAGE
- REQUEST_INSTALL_PACKAGES
Vease releases para una versión más restrictiva.
- Cumplir los requisitos para el desarrollo
- Implementar actualizaciones automáticas a través de este repositorio
- Recuperar la última versión disponible
- Diseñar una interfaz básica para la carga del proceso
- Gestionar la instalación automáticamente
- Dar funcionalidad a los iconos de las plataformas para que abran la aplicación correspondiente con la página del título
-
Cambiar la api a la de JustWatch -
Implementar cámbio de región dinámico
Vease open issues para una lista completa de las características propuestas y bugs conocidos.
Las contribuciones son lo que hace que la comunidad de código abierto sea un lugar increíble para aprender, inspirarse y crear. Cualquier contribución que hagas será muy apreciada.
Si tienes una sugerencia que pueda mejorar este proyecto, por favor haz un fork del repositorio y crea un pull request. También puedes abrir un issue con la etiqueta "enhancement". ¡No olvides darle una estrella al proyecto! ¡Gracias de nuevo!
- Haz un fork del proyecto
- Crea tu rama de funcionalidades (
git checkout -b feature/AmazingFeature
) - Haz commit de tus cambios (
git commit -m 'Añadir AmazingFeature'
) - Haz push a la rama (
git push origin feature/AmazingFeature
) - Abre un pull request
Distribuido bajo la licencia MIT. Vease LICENSE para más información.