{

Retos

de

Programación

}

Roadmap

2024

Mini

Ejercicios

Proyectos

{

Retos

de

Programación

proyectos

}

by mouredev

# 12 aplicaciones pensadas para añadir a tu portafolio personal

## Web o App. Tú eliges la tecnología.

Este es un listado de proyectos reales que pueden ayudarte a darte ideas y elaborar un portafolio personal que marque la diferencia. Cada aplicación está pensada para potenciar diferentes habilidades.

Con el apoyo de la comunidad. Encontrarás soluciones a los ejercicios en tecnologías como React, Angular, Flutter, Vue, Jetpack Compose, Android Views, SwiftUI, UIKit, React Native, Svelte…

    /*
     * Crea el juego conecta cuatro.
     *
     * Requisitos:
     * - Tablero de 7x6 (7 en el eje "x" y 6 en el "y").
     * - Fichas Rojas y Amarillas. La primera partida la comienza siempre la Roja
     *   (la segunda la Amarilla, la tercera la Roja...).
     * - No hay que implementar una funcionalidad que te permita jugar contra la App.
     *   Se asume que jugarán dos personas reales alternándose.
     * - Al seleccionar la columna se coloca la ficha en la parte inferior.
     * - Guardar el número partidas ganadas de cada equipo mientras la App no se finaliza.
     * - Dos botones para reiniciar la partida en marcha y para resetear el
     *   contador de victorias y derrotas.
     * - Puedes añadirle todas las funcionalidades extra que consideres.
     */

    /*
     * Crea una app que sirva para listar los personajes de Star Wars y que te permita
     * buscarlos por nombre.
     *
     * Requisitos:
     * - Usa el API https://swapi.dev
     * - El diseño es de libre elección.
     * - Debe mostrar un listado y un detalle de cada personaje.
     * - El listado tendrá que estar paginado.
     * - El listado poseerá un filtro de búsqueda.
     * - Al seleccionar un personaje del listado, el detalle mostrará los datos que
     *   consideres oportunos.
     * - OPCIONAL: Detalle de películas, vehículos, naves, especies...
     * - OPCIONAL: Foto de cada personaje.
     */

    /*
     * Crea una "Quiz app" contrareloj con ranking.
     *
     * Requisitos:
     * - El diseño es de libre elección.
     * - La temática de las preguntas del cuestionario será de libre elección. Puede estar
     *   bien seguir un mismo tema (por ejemplo, preguntas sobre el universo "Harry Potter").
     * - En la pantalla inicial podrás comenzar a jugar o consultar el ranking de puntuaciones.
     * - El juego consistirá en 10 preguntas aleatorias con 3 respuestas y sólo una correcta.
     *   Recomendable crear más de 10 preguntas para que no siempre salgan las mismas. Cada vez
     *   que se responde a una pregunta, se pasará a la siguiente.
     * - Disponemos de 30 segundos para responder cada pregunta. El contador deberá aparecer
     *   en la pantalla, y si llega a 0 se tomará como respuesta incorrecta y se pasará
     *   a la siguiente pregunta.
     * - Al marcar una respuesta o finalizar el tiempo, se mostrará si se ha acertado o no la
     *   pregunta, dando feedback sobre cuál sería la respuesta correcta y navegando al cabo
     *   de un par de segundos a la siguiente pantalla.
     * - Sistema de puntuación:
     *   - Contador a 0 o respuesta incorrecta = 0 puntos.
     *   - Contador mayor 0 y respuesta correcta = [segundos restantes] puntos.
     *     Ej: Si quedaban 9 segundos para finalizar la cuenta atrás y se acierta la pregunta,
     *  se asignan 9 puntos.
     * - Una vez finalizada la pregunta número 10 se mostrará en una nueva pantalla
     *   la puntuación final y se deberá introducir un nombre para guardarla de forma
     *   persistente (aunque cerremos la app). Hecho estos se mostrará la pantalla de ranking.
     * - La pantalla de ranking muestra ordenados de mayor a menor los 10 mejores
     *   resultados y el nombre guardado. Desde esta pantalla siempre se podrá navegar
     *   a la pantalla inicial.
     */

    /*
     *Crea un "Pomodoro" configurable que guarde todo tu historial de tareas.
     *
     * La técnica "pomodoro" es un método para mejorar la administración del tiempo dedicado
     * a una actividad e incrementar tu productividad.
     *
     * Requisitos:
     * - Poseerá un campo de texto para introducir el nombre de la tarea que se está llevando a cabo.
     *   Cada vez que se cambia la tarea, el pomodoro comienza de cero. Sólo se puede cambiar
     *   la tarea si el pomodoro se detiene completamente (en caso contrario no será editable).
     *   El pomodoro no puede iniciarse si no se ha definido una tarea.
     * - Deberá implementar botones para iniciar el pomodoro, pausarlo, pararlo y pasar
     *   al siguiente ciclo del pomodoro.
     * - El pomodoro medirá intervalos formados por 4 bloques de trabajo de 25 minutos con 5 minutos
     *   de descanso entre ellos. Cada tres bloques de descanso de 5 minutos, el cuarto bloque será
     *   de 15 minutos o 30 minutos (también configurable y guardando la selección
     *   de forma persistente).
     * - Si la aplicación está en segundo plano deberá seguir funcionando. O por lo menos seguir
     *   teniendo en cuenta el estado actual del pomodoro.
     * - Cada vez que acaba un bloque (de trabajo o de descanso) se notificará al usuario con
     *   una alerta (si está en primer plano e incluso con sonido) o con una notificación
     *   (si está en segundo plano) que ha finalizado ese bloque de tiempo y ha comenzado el siguiente.
     * - Se guardará un historial agrupado por día con fecha de inicio y fin del bloque/s de
     *   trabajo junto con el texto de la tarea realizada. Tiempo total contando descanso y trabajo.
     *   Se guarda cada vez que se detiente el pomodoro.
     *   El historial puede estar en una pantalla individual.
     *   Se mostará primero el registro más reciente.
     * - Esta es un tipo de aplicación con la que podemos practicar diseños de UI más elaborados.
     *   Intenta hacerla bonita y con animaciones!
     */

    /*
     * Crea un "memograma" o "juego de memoria" basado en parejas de cartas.
     *
     * ¿Quién no ha jugado alguna vez a las parejas de cartas? Desde bien pequeños hasta
     * alguna noche de fiesta, ¿cierto? Bien, para este reto deberás elegir tu temática
     * favorita y recrear el famoso juego. Sorpréndenos! 😉
     *
     * Requisitos:
     * - Los requisitos del juego son bastante sencillos. En primer lugar, tienes que elegir
     *   la temática que quieras, como Pokémon, Star Wars o incluso Peppa Pig.
     * - La dinámica del juego consistirá en presentar un tablero con una serie de cartas
     *   boca abajo y revelar todas las parejas antes de que se acabe el tiempo.
     *   El usuario tocará cada carta para darle la vuelta y, si dos de ellas coinciden al
     *   descubrirlas, se pondrán boca arriba. En caso contrario, se volverán a ocultar.
     * - El juego se gana si se descubren todas las parejas dentro del límite de tiempo.
     */

    /*
     * Replica la UI del feed de Twitter en tu propia app.
     *
     * El objetivo desde este reto es que seas capaz de replicar la capa visual del feed
     * principal de Tweets en tu propia app. ¿Te animas a clonar la UI de Twitter?
     *
     * Requisitos:
     * - Puedes clonar la versión web, iOS o Android de Twitter.
     * - Cuanto más similar al diseño original, mejor, aunque no es necesario representar
     *   todas funcionalidades actuales de Twitter (en las instrucciones completas se indican
     *   los requisitos de forma detallada). El objetivo del reto se centra principalmente en
     *   tener la capacidad de saber crear UI en base a un diseño ya existente.
     *
     * - ¡Punto extra! Si quieres desafiarte un poco más, intenta mejorar la aplicación de Twitter.
     */

    /*
     * Crea un agregador de noticias enfocado en un único nicho de mercado.
     *
     * ¿Eres capaz de construir el mejor agregador de noticias de un sector?
     *
     * Requisitos:
     * - Tú decides el nicho que más te guste. Por ejemplo tecnología, desarrollo de software,
     *   música, comida, deporte...
     * - Crearás una pantalla principal y otras para detalles, marcadores y configuración.
     *
     * - ¡Punto extra! Aquí mandas tú. Es posible que puedas implementar funcionalidades
     *   exclusivas que tengan especial sentido en el nicho que hayas seleccionado..
     *   ¡Sorpréndenos!
     */

    /*
     * Crea una aplicación de chat usando Firebase como tu backend.
     *
     *
     * Requisitos:
     * - La aplicación tendrá una pantalla donde tendrás que hacer login con tu cuenta de Google.
     * - Una vez realizado, accederás a una sala de chat donde se visualizarán los mensajes
     *   de todos los usuarios y podrás interactuar con ellos.
     *
     * - ¡Punto extra! ¿Eres capaz de enviar notificaciones push a otro dispositivo
     *   cada vez que te escriben? ¿E imágenes?
     */

    /*
     * Crea una aplicación que ayude a nuestra comunidad.
     */

    /*
     * Crea una applicación para encontrar la equivalencia de un valor en diferentes
     * unidades de medida.
     *
     * ¿Has probado alguna vez crear tu propio conversor de unidades?
     *
     * Requisitos:
     * - Si tu applicación es capaz de transformar muchos tipos de unidades, debe poseer
     *   una pantalla de selección y una de detalle con el conversor.
     * = Si decides que tu aplicación únicamente soporte una familia de unidades,
     *   puede estar todo en una única pantalla.
     *
     * - ¡Punto extra! ¿Te atreves a utilizar otro tipo de unidades de medición menos comunes?
     */

    /*
     * Crea una aplicación que sea capaz de gestionar el pedido en nuestra pizzería perfecta.
     *
     * Pero, ¿por qué es perfecta? Muy fácil, no tienes que registrarte, una pizza puede
     * estar compuesta hasta por 4 tipos, podrás eliminar ingredientes y conoceremos
     * "un truco" para no tener que pagarlas.
     *
     * Requisitos:
     * - Al abrir la aplicación se nos presentará el listado de pizzas del restaurante.
     * - Podrás consultar el detalle de la pizza para editarla y acceder al carrito de la:
     *   compra para finalizar el pedido.:
     *
     * - ¡Punto extra! ¿Te atreves a solicitar los datos de envío o a añadir algún método de pago?
     */

    /*
     * Crea una web o app que funcione como un sitio donde encontrar aquellos productos
     * que crees que todo developer debería conocer.
     *
     * Requisitos:
     * - Deberás crear una tienda online pero sin tienda... ¿Cómo? Tu web o app puede
     *   servir para enlazar a los productos que venden tiendas online reales (Amazon, por ejemplo)
     *   y así utilizar enlaces de referidos que te aporten ingresos.
     * - La tienda deberá poseer una sección de productos destacados y diferentes filtros
     *   para agrupar por categoría. Los productos son de tu total elección, y cada uno
     *   debe tener foto (o más de una) y descripción (e información extra si así lo quieres).
     *
     * - ¡Punto extra! Es el último reto del año... ¿Quieres formar un equipo de hasta
     *   3 personas (tienen que existir commits de 3 personas) para llevar a cabo el reto?
     *   Este es el momento.
     */

## Sigue practicando

Nuevo 2024

## Roadmap de retos

## Ejercicios lógicos

>_
Python
Swift
Kotlin
Java
C++PHP Rust Go JavaScript Dart Ruby C#TypeScript Cobol Lua C PowerShell Assembly R Objective-C F#Haskell Fortran Lisp Scala Perl Groovy Solidity Ada Plankalkül

>_Python Swift Kotlin Java C++PHP Rust Go JavaScript Dart Ruby C#TypeScript Cobol Lua C PowerShell Assembly R Objective-C F#Haskell Fortran Lisp Scala Perl Groovy Solidity Ada Plankalkül

Creado con 🤍 (y gracias a ti) por
MoureDev by Brais Moure.

© 2022-2024. v3.0.