Proyecto de retos de creación mensual de aplicaciones de la comunidad MoureDev en base a requisitos.
También existen repositorios tanto para Kotlin/Android como para Swift/iOS en los que se publicarán semanalmente pequeños retos de código. Así podrás elegir el que mejor se adapta a tus necesidades (o practicar en todos).
La idea principal es utilizar este proyecto para publicar retos de creación de pequeñas Apps y soluciones en diferentes tecnologías (principalmente iOS y Android, aunque si quieres puedes hacerlo via web/desktop). Es una manera para intentar "forzarnos" a practicar desarrollo de aplicaciones en base a requisitos y de forma colaborativa dentro de la comunidad.
CONECTA 4: Crea el juego conecta cuatro. Tienes un ejemplo parecido aquí.
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.
Soluciones: ENLACES A LOS REPOSITORIOS
LA ENCICLOPEDIA STAR WARS: 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.
Soluciones: Reto en activo.
Pendiente de publicación...
Puedes hacer libremente un fork del proyecto y trabajar con Git para ir sincronizando las actualizaciones del proyecto.
- Cada primer lunes del mes se publicará un nuevo reto de código.
- Los requisitos del reto mensual se publicarán en este mismo README.
- Se comunicará en el canal
#🗓reto-mensual
de Discord, en directo desde Twitch y se subirá el enunciado al repositorio. - Dispondrás de un mes para resolverlo, preguntar tus dudas, debatir y aportar ayuda en el canal de Discord.
- El primer lunes del mes siguiente (o último del anterior) se subirán enlaces a repositorios de la comunidad con resolucines en diferentes tecnologías, se comentarán en directo desde Twitch (utilizando resoluciones de entre los asistentes que hayan realizado una
pull request
a mi proyecto con el enlace de GitHub a su proyecto) y se añadirá el nuevo reto mensual. - Comenzará de nuevo el proceso.
Si quieres unirte a nuestra comunidad de desarrollo, aprender programación de Apps, mejorar tus habilidades y ayudar a la continuidad del proyecto, puedes encontrarnos en:
Deberás realizar flujos de actualización, sincronización y pull request
desde tu fork
del proyecto hacia el principal (habitualmente nombrado como upstream/main
).
Todo esto se puede hacer desde línea de comandos, pero si prefieres puedes usar clientes gráficos como GitHub Desktop (muy simple) o GitKraken (más avanzado y potente).
- Desde tu repo en la propia web de GitHub podrás realizar muchas acciones.
- Resuelve el reto en tu propio repositorio y realiza una
pull request
a mi repositorio con un "README_#[número del reto].md" (README_#1.md) que contenga el enlace al repositorio donde has resuelto el reto. - Desde GitHub, una vez hecho el
fork
verás opciones como "Contribute" o "Fetch upstream":Contribute
permite abrir unapull request
(deberás seleccionar el mío como repositorio base contra el que comparar tu proyecto). Así yo podré ver el README con el enlace al tu repo, tal y como comento en el punto anterior.Fetch upstream
permite sincronizar tu proyecto con el original en caso de que se haya actualizado.
- Para sincronizar tu proyecto con el original y mantenerlo actualizado también puedes hacer un
merge commit
,squash merge
orebase
(ten en cuenta que cada uno se comporta de una manera, conservando o no tus propios cambios). - Una vez se publique el nuevo reto, la solución del anterior, y comente las soluciones, cerraré las pasadas
pull request
para dejar paso a las que se hagan para el nuevo reto.
Soy ingeniero de software desde hace más de 11 años. Desde hace 3 años combino mi trabajo desarrollando Apps con creación de contenido formativo sobre programación y tecnología en diferentes redes sociales como @mouredev.