Dec 16, 2019

Cómo lancé una aplicación simple pero importante en una semana (o menos)


Desde que tengo memoria me encanta desafiarme a mí mismo. Empujarme al límite es una forma difícil de saber hasta dónde puedes llegar en situaciones difíciles. No es bueno ni saludable ponerse en este tipo de tormentas, por lo tanto, no recomiendo que todos usen el mismo método. Pero para mí, creo que es emocionante.

Hace unos días, la compañía en la que estoy trabajando ahora estaba organizando La Fiesta Anual de los Empleados. En el evento, sortean diferentes obsequios para los empleados utilizando un método antiguo y confiable.

Consiste en imprimir la lista de todos los empleados de la empresa (como 600 trabajadores) y cortar cada página en pequeñas partes de papel. Después de eso, dobla esas piezas y ponlas dentro de un recipiente de plástico. Más tarde, en el evento, un voluntario tomará una pieza al azar y el nombre impreso en ella será un ganador.

Cualquiera puede notar que hacerlo de esa manera conlleva mucho trabajo innecesario y, como sabemos, cualquier cosa puede mejorarse con código.

Mi gerente de producto me habló sobre la idea de automatizar todo el proceso, pero advirtiéndome si elijo realizar la tarea, la solución debería estar lista en menos de 10 días. Si no, no hay problema, la solución se usaría el próximo año.

Como dice el título del artículo, asumí la tarea, y con ella una gran responsabilidad, porque mucha gente estaba entusiasmada con este nuevo método.

Entonces, ¿qué tenía que hacer?

Primero, tomamos los requisitos específicos e intentamos (al máximo) mantenerlo lo más simple posible.

  • Decidimos crear una aplicación web receptiva porque el personal del evento estaría usando tabletas.
  • La aplicación tendrá solo dos módulos o funcionalidades. Asistencia y sorteo.
  • La aplicación necesitaría un inicio de sesión y un seguimiento de cualquier cambio realizado por cada usuario registrado.

¿Como lo hice?

La forma más fácil y rápida de iniciar una aplicación simple como esta es mediante Firebase. En caso de que no lo sepa, Firebase es la plataforma de Google que lo ayuda a desarrollar rápidamente aplicaciones utilizándolas como back-end (probablemente backend-as-a-Services).

Firebase fue un gran aliado para mí porque hace que sea ridículamente fácil implementar cualquier tipo de método de autorización. Además, tiene un servicio de base de datos No-SQL llamado Firestore que le brinda la capacidad de recuperar datos en tiempo real. Exactamente lo que quiero.

Usando firebase, instantáneamente tuve el backend de la aplicación. Entonces, podría centrarme en la interfaz.

Para mi interfaz utilicé CRA. Create-React-App (CRA) me ayudó a tener un inicio rápido de un andamio de reacción simple listo para codificar.

Estaba extremadamente concentrado en construir un MVP funcional, no me importaba en absoluto el estilo. Una vez que lo tuve funcionando, supe que todo estaría bien. Después de 4 días, cubrí cada requisito y probé y aprobé completamente para el equipo de personal del grupo.

Por último, codifiqué un script node.js para cargar todos los datos (nombre, código, departamento) de cada empleado, y luego, darle un poco de estilo a la aplicación.

El día del evento

Estaba nervioso por la primera mirada y la impresión de los trabajadores que estaban presentes. Casi 400 personas mirando la pantalla donde se mostrará la aplicación, un usuario inexperto de la aplicación y un paradigma roto fueron algunas de las cosas que me preocuparon un poco.

La reacción de la multitud fue mejor de lo que esperaba, el uso de la aplicación "casi" no presentó ningún problema, y ​​cada sorteo fue exitoso y claro.

Conclusión

Una vez más, sé que esta es una situación singular y podría no ser el medio de comunicación de cada intento, pero como digo al principio, el desafío me hace más fuerte y me entusiasma superar el límite. Fue un caso exitoso (no siempre sucede de esta manera) pero con esta historia, me gustaría mostrarles dos lecciones importantes:

Confía en ti mismo. Lo primero que debe saber antes de arriesgarse es qué tan lejos sabe que puede llegar, cuánto quiere que se esfuerce.

Enfocarse en la funcionalidad general. Creo que no necesita una explicación, pero SIEMPRE siempre, enfóquese en el puño MVP, las funcionalidades centrales. Haga que su producto sea utilizable y luego se preocupará por cualquier otro detalle.

Espero que este artículo pueda inspirar a alguien y darle esta pequeña motivación que probablemente necesite.

Cómo lancé una aplicación simple pero importante en una semana (o menos)
Commentarios