Giter Club home page Giter Club logo

wit-backend's Introduction

LOGOS WORK IN TECH, Google y Somos F5

Work in Tech (WIT) - Aplicación de Gestión de Becas

Índice

*Descripción del proyecto

*Planteamiento del problema

*Propuesta solución

*Estado del proyecto

*Características de la aplicación y demostración

*Acceso al proyecto

*Tecnologías utilizadas

*Equipo de Desarrollo

*Licencia

*Agradecimientos especiales

Descripción del Proyecto

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.

Planteamiento del problema

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.

Propuesta Solución

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.

Estado del proyecto

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

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.

Características de la aplicación y demostración

Este microservicio, es una API Rest, que cuenta con los siguientes modulos, y sus repectivos endpoints y métodos.

Aplicant

Applicant

User

User

Register Question

register Question

Interview

Interview

Interview Question

Interview Question

Auth

Auth

Schemas

Schemas

Esquema Relacional de la Base de Datos

A continuación podrás visualizar nuestra base de datos. ERD

Acceso al proyecto

Accede a nuestra documentación

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

Tecnologías Utilizadas

  • 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.

Equipo de Desarrollo

Alejandra Naranjo
Alejandra Naranjo

Carlos Saiz
Carlos Saiz

Angela Garcia
Angela Garcia

Jesús Fajardo
Jesús Fajardo


Deniz Ozerdogan


Federico Martino

Licencia

WIT-Frontend tiene licencia del MIT.
La documentación de WIT-Frontend (p. ej., archivos .md en la carpeta ./docs) tiene licencia Creative Commons.

Agradecimientos especiales

Agradecemos especialmente a Factoría F5 y todo su equipo, tambien a nuestro equipo de Formadores. Gracias por hacer posible nuestra formación.


Factoría F5


Amr Hefny


Raúl García

wit-backend's People

Contributors

denizozerdogan avatar jfctito avatar angela-gm avatar alens678 avatar federicojaviermartino avatar wit-app avatar carlos-saiz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.