Emacommerce es una API Rest creada para el módulo 4 de Henry, es un ecommerce de productos tecnologicos, la api es solamente backend, es muy completa en ese sentido.
Fui el encargado de todo el desarollo de la aplicación, desde la DER hasta el despliegue de la API.
La tabla "users" almacena información sobre los usuarios, incluyendo su nombre, correo electrónico, rol, contraseña, teléfono, país, dirección y ciudad. La tabla "Orders" registra los pedidos realizados por los usuarios, incluyendo la fecha del pedido y el usuario asociado. Los detalles de cada pedido se almacenan en la tabla "orderDetails", que especifica los productos incluidos en cada pedido y su precio. La tabla "products" guarda información sobre los productos, como su nombre y categoría, mientras que la tabla "category" define las categorías de los productos. Las relaciones entre las tablas se establecen mediante claves primarias y foráneas, conectando usuarios con pedidos, pedidos con detalles del pedido, y productos con categorías.
La aplicación está creada con NestJS y TypeScript. Cuenta con Autenticación y Authorización interna mediante JWT y el uso de roles, la contrasela es cifrada haciendo uso de Bcrypt. La base de datos utilizada es PostgreSQL con TypeORM. la API cuenta con almacenamiento de archivos en la nube con Cloudinary. Existe varificacion por roles, y todo se encuentra documentado con Swagger. Como extra, la aplicacion está totalmente dockerizada, haciendo uso de Docker-compose. Para su despliegue se utilizó Github Actions el cual el workflow es dockerizar la aplicacion y subirla a mi cuenta de Docker Hub en cada push a la rama principal. Para deploy se utilizó Vercel, mientras que la base de datos se aloja en Neon.
-
Victor Emanuel Cuello emacuello
Full Stack Developer & SRE NestJS | Express | TypeScript | SQL | NoSQL | Reactjs | Astro | Nextjs | Docker | Microservicios | AWS | Terraform | Kubernetes | DevOps | CI/CD