*Características de la aplicación y demostración
Bienvenido al repositorio Backend de la aplicación de gestión de becas para el programa Work in Tech (WIT) de la Fundación Somos F5. Este proyecto tiene como objetivo centralizar y automatizar el proceso de registro de interés, selección, matriculación y seguimiento de las personas que participan en el programa WIT.
Actualmente, el equipo de WIT trabaja con una base de datos descentralizada gestionada de manera manual a través de archivos de Google Sheets. El proceso inicial recopila datos a través de un formulario de Google, y luego, en los pasos posteriores a la preinscripción, varias personas actualizan y manipulan estos datos, lo que ha afectado la integridad de la base de datos.
Nuestra solución es desarrollar una aplicación que simplifique y centralice la gestión de datos en todo el proceso de administración de becas de Work in Tech. Esto permitirá garantizar la integridad y precisión de los datos recopilados y actualizados. Además, nuestro objetivo es mejorar la experiencia del usuario, haciendo que el proceso sea más intuitivo y reduciendo la necesidad de pasos manuales.
Actualmente la aplicación para la gestión de Becas de google por parte de Work in Tech se encuentra funcional en una etapa inicial. Esta aplicación recolecta la información de pre-inscripción de todos los aspirantes, esta información es capturada por medio de un formulario que alimenta nuestra base de datos de Aplicantes.Posteriormente esta aplicación te permite gestionar la información de cada aspirante de acuerdo a su estado dentro del proceso de adquirir la beca y completar su curso.
Actualmente se administran dos cursos
*Soporte de Tecnologías de la Información
*Automatización de Tecnologías de la Información con Python
Este proceso supone el siguiente flujo de vida de un aspirante que pasa los filtros y es asignado una licencia para estudiar uno de estos programas.
![Flujo de estados](https://private-user-images.githubusercontent.com/144338411/273461393-6599f9d6-2f96-4320-af96-fdd858ef7857.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxMTQ4NzAsIm5iZiI6MTcyNTExNDU3MCwicGF0aCI6Ii8xNDQzMzg0MTEvMjczNDYxMzkzLTY1OTlmOWQ2LTJmOTYtNDMyMC1hZjk2LWZkZDg1OGVmNzg1Ny5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODMxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgzMVQxNDI5MzBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zNDhiOTUzMTg5NzQzZWM3N2MwMzMxMWIzMDdkNzJjZTY2MDc0MTcwNWFlOTczNTFjN2FmMzIyMWNhN2E1N2QwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.-TCGlthcv_uenFZ0SZf4fn8X-bwrnj-h-wDguhlSVJI)
Entonces, podemos inferir que una persona que aplica a una beca, incia su proceso llenando el formulario de registro. Una vez completado este paso, y por medio de un filtro automatico, una persona puede tomar uno de los siguientes estados, PRE-APROBADO ó APLICANTE; esto dependerá de un filtro automatizado en nuestra API, este filtro se encarga de verificar si la persona reside en España o sí ya ha estado previamente registrado en alguno de los pasos posteriores, es decir esta duplicado en la base de datos. Esto es posible, ya que hay casos excepcionales que se quieren evaluar anter de ser rechazados, y aquí introducimos un nuevo estado RECHAZADO. Retomando el inicio del flujo, una persona que automaticamente fue aprobada o que en su defecto a pasado por revisión manual para ser aprobado pasa a ser INVITADO a una sesión informativa, para esta sesion informativa, una persona debería confirmar su asistencia y estara CONFIRMADO, además puede ser invitada un limite de veces, por lo general 6 veces; si la persona no asiste a la sesion informativa será RECHAZADA; si por el contrario avanza al proceso de Entrevista donde adquiere el atributo de ENTREVISTADO, donde esta persona puede ser RECHAZADA ó ADMITIDA. Allí inicia todo un proceso de matricula, y una vez completado su estado será MATRICULADO, una persona Matriculada durante el desarrollo y cumplimiento de sus modulos puede adquirir dos estados, CERTIFICADO, cuando ha culminado sus modulos con exito, ó BAJA cuando por el contrario los ha abandonado.
El proyecto ha alcanzado un 70% de su principal objetivo, hay un par de aspectos a mejorar que han quedado registrados en futuros Issues; por ejemplo, quisieramos añadir un modulo de seguimiento a las personas actualmente matriculadas que permita subir la información que se trae de la plataforma de estudios.
Este microservicio, es una API Rest, que cuenta con los siguientes modulos, y sus repectivos endpoints y métodos.
A continuación podrás visualizar nuestra base de datos.
En el siguiente enlace podras acceder a nuestra documentación, conocer todos los endpoints y testearlos. Click aquí para acceder a nuestra documentación
Usuario demo: [email protected]
Password demo: 1234
- Typescript: Lenguaje de desarrollo fuertemente tipado que se transpila a Javascript.
- NestJS: Framework de desarrollo de API Rest particularmente, inspirado en Angular.
- PostgreSQL: Sistema de gestión de bases de datos relacional (RDBMS) de código abierto.
- ElephantSQL: Servicio en la nube para bases de datos PostgreSQL.
- Railway: Plataforma de desarrollo para crear, implementar y administrar aplicaciones web y servicios en la nube.
- ByCrypt y JWT: Encriptar y proteger la información de acceso y registro.
- TypeORM: Interface para interactuar con la base de datos.
WIT-Frontend tiene licencia del MIT.
La documentación de WIT-Frontend (p. ej., archivos .md en la carpeta ./docs) tiene licencia Creative Commons.
Agradecemos especialmente a Factoría F5 y todo su equipo, tambien a nuestro equipo de Formadores. Gracias por hacer posible nuestra formación.