Para poder correr el proyecto de manera local se debe clonar el repositorio de la siguiente manera
git clone https://github.com/JIMO-17/codeChallengeToDoList.git
_Luego desde la consola entramos a la carpeta donde se clono el repositorio y luego en la carpeta /API ejecutamos el primer comando para instalar todas las dependencias requeridas del proyecto y luego el segun comando es para que empiece a correr el servidor que recibira todas las peticiones desde http://localhost:4000 _
npm install
npm run dev
_Y luego desde otra ventana de consola, entramos nuevamente a donde se encuentra guardado el _repositorio, entramos a la carpeta /frontend y nuevamente como primer comando para instalar todas las dependencias requeridas y el segundo para correr el cliente en http://localhost:3000
npm install
npm start
De ese modo ya estaria todo el proyecto corriendo en el computador de manera local
El API fue desarrollado con Node JS mediante Express y como base de datos esta conectada a MongoDB Atlas y todas las peticiones fueron probadas mediante Postman para verificar que funciona correctamente El lado del cliente se encuentra desarrollado en React con redux y para el tema de los estilos hice uso de CSS plano, es decir no hice ningun uso de ningun framework o libreria para los estilos. _El challenge no lo pude terminar al 100% debido a que era la primera vez que manejaba redux y me falta profundizar aun mas en React, pero logre con ayuda de videos, documentacion, investigacion y similar, realizar el lado del cliente, lo que me falto fue el tema de consumir el API y el tema de las peticiones, es decir, que al correr el cliente de manera local, el guardara todos los task que ingresemos y esto se guarda en el store de redux, asi como tambien funciona para editar, eliminar, marcar como completado o marcar como incompleto cada task, todo esto es funcional y se guarda en el store, pero cuando agregamos un nuevo task este se guarda en el store y tambien consume el API y se guarda en la base de datos correctamente, pero aunque estuve trabajando por 2 dias casi 3 días en el tema de consumir el API, tuve inconveniente para realizar el get desde el cliente ya que intente todo lo que pude y no logre saber como asignar lo que traia el get con axios al store de redux para que se mostrara todas las task que hay en la base de datos, es por eso que en el archivo reducer, se encuentra comentareado la parte de realizar las peticiones tambien las del update note, cambiar el estado de completo o incompleto que es un update tambien y el delete, pero como no pude asignar el get al store, no pude completar el desafio.
Me llamo Josue Isai Mesa Mora, naci el 17 de febrero del 2002, tengo 19 años y me encuentro en Bogota, Colombia. Actualmente soy tecnologo en informatica aunque mi grado se llevara a cabo en Marzo del 2022 confiando en Dios, y soy estudiante de Ingenieria en Sistemas en la UNIMINUTO - Corporacion universitaria Minuto de Dios y tengo una certificación internacional con la institucion ITCertificate como Front End Developer Certified Associate.
Me encanta todo el tema de la programación, mayormente el desarrollo web, en mi día a día siempre estoy estudiando para profundizar mas en los diversos lenguajes de programación, ya que algo que tengo claro es que uno nunca termina de aprender algo, siempre hay algo nuevo por aprender porque cada desafio es distinto y conlleva nuevos retos que lo llevan a uno a seguir adelante para buscar la solucion a lo que se presente.
En cuanto a conocimientos, tengo conocimientos en HTML, CSS, JavaScript, php, fundamentos de Java especificamente en el desarrollo para Android, SQL Server, MySQL, SASS, Bootstrap, Git y fundamentos en React y NodeJS
Con el desafio me tome el tiempo de empezar a aprender temas como MongoDB, Express, profundizar mas en React y empezar a investigar sobre Redux y la verdad me ha encantado aunque no pude completar todo el challenge con todos los requisitos, porque una de mis metas es poder aprender a desarrollar bajo el stack MERN.
Me gusta la programación porque es un mundo con un sinfin de posibilidades, y que como mencione anteriormente la programación lo lleva a uno a cada vez ir aprendiendo nuevas y mas cosas, además de que hoy en día se necesitan muchos desarrolladores porque estamos en una epoca donde la tecnologia, la web y todo lo relacionado es lo que mueve el mundo. No voy a mentir con decir que empece en el mundo de la programación desde que tenia 13 años ni mucho menos, descubri este mundo cuando entre a la universidad a los 17 años y desde el primer instante me encanto.
Tengo claro que aun me falta mucho por aprender, pero siempre estoy dispuesto a seguir aprendiendo y/o profundizando en las tecnologias que se requieran en cada uno de los proyectos y/o retos a los que me deba enfrentar, siento que gracias a Dios puedo aprender rapido y entender cosas nuevas de manera autodidacta y tambien con ayuda de otros. Porque realmente uno aprende es con la practica, con proyectos y similares es como uno realmente aprende a medida que se va enfrentando a estos y es por ello que cada día busco ir capacitandome más y más, tambien me gusta ayudar a los demas, trabajar en equipo, aprender de los demas, aportar ideas, etc.
Respecto a como me veo en 5 años, confiando en Dios primero ya haberme graduado como Ingeniero en Sistemas, tener una muy buena estabilidad economica tanto para mi como para ayudar en mi casa a mis papás porque gracias a Dios y a ellos soy la persona que soy hoy en día y poder ayudarlos es un placer y un agradecimiento aunque nunca se comparara a todo lo que ellos han hecho por mi, pero siempre con la ayuda de Dios seguir siendo la misma persona, es decir seguir siendo humilde, sin creerme mas que nadie, tambien me veo estar viviendo en otro país y ya teniendo mi propia casa, viajando y tambien tambien me veo ya como un buen desarrollador con mas experiencia y con ganas de seguir desarrollando nuevas cosas y aprendiendo dia a dia, y muchas otras cosas mas como me veo en 5 años y en mas años como poder tener mi propia start up o compañia de desarrollo de software y muchas cosas mas, que para ello debo seguir esforzandome, trabajando para luchar por cada uno de los sueños que tengo con ayuda de Dios.
Muchas gracias por la oportunidad de realizar este challenge, espero cumplir con sus expectativas y sobre todo que sepan que estoy dispuesto a aprender lo que sea necesario.
Josue Isai Mesa Mora