Skip to content

This is the REST API backend for the software development subject at UCAB college, in which we created a RESTful API for an e-commerce application. We used the design patterns of domain-driven design, including aspect-oriented programming (AOP), and followed the theoretical aspects of Scott Millett, Mark Seemann, and Uncle Bob.

Notifications You must be signed in to change notification settings

C102002/Red-backend

 
 

Repository files navigation

Red Logo

Red-Team-Backend

This is the Red team backend for the subject Software Development into the "Universidad Catolica Andres Bello"

Developers


Bryant Mitchel

📖

Eduardo Rumbos

📖

Alfredo Fung

📖

Alessandro Valsania

📖

Daniel Ponceleon

📖

Gabriel De Sousa

📖

Description

Nest framework TypeScript starter repository.

Installation

$ pnpm install

Running the app

# development
$ pnpm start

# watch mode
$ pnpm dev

# production mode
$ pnpm build

Test

# Run all tests
$ pnpm test

# Run Jest test
$ pnpm test:jest

# test Cucumber test
$ pnpm test:cucumber

How to use it??

# execute the following command to execute the docker cotainers
$ docker compose up -d

# execute the following command to execute the API
$ pnpm dev

License

Nest is MIT licensed.

Requirements


NestJS

📖

NodeJS

📖
https://docs.docker.com
Docker

📖
https://cloudinary.com/
Cloudinary

📖

Firebase

📖

MongoDB

📖
https://www.postgresql.org/
Postgresql

📖
https://www.rabbitmq.com/
RabbitMQ

📖

Stripe

📖

Jest

📖

Cucumber

📖

Inception (07-10-2024 / 18-10-2024) 2 weeks

Make a Domain model following the principles of "Third Edition Applying UML and Patterns An Introduction to Object-Oriented Analysis and design and iterative development (Craig Larman , 2016)" this is our domain model according to Elaboration and domain model chapter 3

domain model 50%

Elaboration (01-11-2024 / 15-11-2024) 2 weeks

Historias de usuario

Task Time required Assigned to Current Status Finished
Visualización de productos disponibles 2 weeks Fung done ✅ done
Buscar productos y combos por nombre 2 weeks Fung done ✅ done
Notificación por orden realizado 2 weeks Fung done ✅ done
Visualización de producto 2 weeks Fung done ✅ done
Visualización de impuestos 2 weeks Gabriel done ✅ done
Visualización de tarifa de envío 2 weeks Gabriel done ✅ done
Realizar Pago 2 weeks Gabriel done ✅ done
Eliminar Categoria 2 weeks Ponceleon NOT done ❌ NOT done
Visualizar Categoria 2 weeks Ponceleon NOT done ❌ NOT done
Crear Categoria 2 weeks Ponceleon NOT done ❌ NOT done

Leyenda

✅ done ❌ NOT done

NT: Hoy 08/11/2024 Ponceleon si completo su responsabilidad (3 dias despues de la entrega del inception)

Modelo de dominio

Domain model

domain model elaboration

ORM model

orm model elaboration

Construction (15-11-2024 / 06-12-2024 ) 3 weeks

Historias de usuario

Task Time required Assigned to Current Status Finished
Registro de usuario 2 weeks Fung done ✅ done
Iniciar Sesión 2 weeks Fung done ✅ done
Recuperación de contraseña 2 weeks Fung done ✅ done
Cierre de sesión 2 weeks Fung done ✅ done
Modificar perfil 2 weeks Fung done ✅ done
Agregar dirección de entrega 2 weeks Fung done ✅ done
Editar dirección de entrega 2 weeks Fung done ✅ done
Eliminar dirección de entrega 2 weeks Fung done ✅ done
Establecer dirección predeterminada 2 weeks Fung done ✅ done
Notificación por cambio de contraseña 2 weeks Fung NOT done ❌ NOT done
Promociones de productos 2 weeks Fung done ✅ done
Ver historial de órdenes pasadas 2 weeks Gabriel done ✅ done
Repetir una orden pasada 2 weeks Gabriel done ✅ done
Cancelar una orden activa 2 weeks Gabriel done ✅ done
Visualización de impuestos 2 weeks Gabriel done ✅ done
Visualización de tarifa de envío 2 weeks Gabriel done ✅ done
Notificación de cancelación de orden 2 weeks Gabriel done ✅ done
Aplicar cupones de descuento 2 weeks Ponceleon done ✅ done
Notificación de promociones 2 weeks Ponceleon done ✅ done
Notificación de cupones 2 weeks Ponceleon done ✅ done
Ver productos más vendidos 2 weeks Ponceleon NOT done ❌ NOT done

Leyenda

✅ done ❌ NOT done :construction: Working

Diagramas

Domain model

domain model construction

ORM model

orm model construction

Transition (06-01-2025 / 17-01-2025 ) 2 weeks

Historias de Usuario

Task Time required Assigned to Current Status Finished
Agregar un cupón a la orden 2 weeks Daniel Ponceleon done ✅ done
Agregar ID cupón a la orden (opcional) 2 weeks Gabriel De Sousa done ✅ done
Test de cupón 2 weeks Daniel Ponceleon done ✅ done
Test de categoría 2 weeks Daniel Ponceleon done ✅ done
Auth de currier login 2 weeks Alfredo Nicolas Fung Fink-Finowicki done ✅ done
Añadir un curier a una orden 2 weeks Gabriel De Sousa done ✅ done
Hacer test de módulo de User 2 weeks Alfredo Nicolas Fung Fink-Finowicki done ✅ done
Hacer test de módulo de Producto 2 weeks Alfredo Nicolas Fung Fink-Finowicki done ✅ done
Hacer test de módulo de Bundle 2 weeks Alfredo Nicolas Fung Fink-Finowicki done ✅ done
Hacer test de módulo de Promoción 2 weeks Alfredo Nicolas Fung Fink-Finowicki done ✅ done
Modificar producto 2 weeks Alfredo Nicolas Fung Fink-Finowicki done ✅ done
Modificar bundle 2 weeks Alfredo Nicolas Fung Fink-Finowicki done ✅ done
Modificar promoción 2 weeks Alfredo Nicolas Fung Fink-Finowicki done ✅ done
Eliminar producto 2 weeks Alfredo Nicolas Fung Fink-Finowicki done ✅ done
Eliminar bundle 2 weeks Alfredo Nicolas Fung Fink-Finowicki done ✅ done
Eliminar promoción 2 weeks Alfredo Nicolas Fung Fink-Finowicki done ✅ done
Refactorizar Orden 2 weeks Gabriel De Sousa done ✅ done
Refactorizar payment method 2 weeks Gabriel De Sousa done ✅ done
Refactorizar Curier 2 weeks Gabriel De Sousa done ✅ done

Leyenda

✅ done ❌ NOT done :construction: Working

NT: Adicional se añadio CQRS en bundle, category, courier, cupon, order, payment-method, product, promotion, se incluyo el de user y auth pero no se subio en produccion

Diagramas

Domain model

domain model construction

ORM model

orm model construction

ODM model

odm model construction

Hexagonal model

hexagonal model construction

About

This is the REST API backend for the software development subject at UCAB college, in which we created a RESTful API for an e-commerce application. We used the design patterns of domain-driven design, including aspect-oriented programming (AOP), and followed the theoretical aspects of Scott Millett, Mark Seemann, and Uncle Bob.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.4%
  • Other 0.6%