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 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.
*/
>_PythonSwiftKotlinJavaC++PHPRustGoJavaScriptDartRubyC#TypeScriptCobolLuaCPowerShellAssemblyRObjective-CF#HaskellFortranLispScalaPerlGroovySolidityAdaPlankalkül
>_PythonSwiftKotlinJavaC++PHPRustGoJavaScriptDartRubyC#TypeScriptCobolLuaCPowerShellAssemblyRObjective-CF#HaskellFortranLispScalaPerlGroovySolidityAdaPlankalkül