¡Hola buenas!, mi nombre real es Santiago Rivera Marin, tengo 19 años de edad, y este repositorio almacena el Reto Factus propuesto por el equipo de la empresa "Halltec".
El equipo de "Halltec", tiene una API de Facturación Electrónica, la cuál está programada en PHP, sí, PHP aún existe y es poderoso, lo digo porque los tiempos de respuesta de esta API de "Halltec" son muy rápidos. Pues bien, el reto consiste en conectar esa API con nuestro "sistema", no importa cual hubiese sido, ya sea desde un backend en python hasta un backend en .NET, en cualquier sistema, no importa cual fuere, y el reto está en los desafíos que conlleva conectar esta API, por su sistema de autenticación OAUTH 2.0, por lo cual se debe generar Token de acceso para poder acceder a los endpoints de la API, además, en los desafíos que tiene el reto, está el de ¿cómo crear un CRUD?, esto porque el reto en sí, no sólo es conectar el API en interfaces como lo son Insomnia y Postman, pues no, más allá de enviar Peticiones HTTP desde un programa ya existente, ajeno a nuestro "Sistema", a fin de cuentas, si no teníamos un "sistema" ya programado, debíamos realizarlo, ya el método de interfaz no importa, es decir, cada quien identifica si necesita un backend o si se hace todo desde el frontend.
Por mi parte, decidí hacer un backend, para el cual usé Node.js (v22.12.0) y paquetes de este mismo como lo son:
- axios (v1.7.9): Usado para realizar Peticiones HTTP desde el backend
- express (v4.21.2): Usado para crear los endpoints de mi backend
- pg (v8.13.1): Usado para el CRUD en POSTGRES
- morgan (v1.10.0): Usado para mostrar por consola los registros de las peticiones que se hacen.
- Postgres: Usado para almacenar datos de clientes, productos y tablas de configuraciones del reto
Para el frontend, lo "normalito":
- Javascript: Usado para darle interactividad al frontend y enviar Peticiones HTTP a mi backend
- CSS: Pues, no creo que sea para algo más o ¿sí?
- HTML: Estructura del frontend
- Bootstrap: Usado para dar un estilo good al frontend
Servidores:
- azure.com: Usado para almacenar la base de datos de POSTGRES
- koyeb.com: Usado para almacenar y servir el backend del reto
- render.com: Usado para almacenar y servir el frontend
Gracias al equipo de "Halltec".