Skip to content

Joguisa/solucion-banco-fullstack

Repository files navigation

Solución Prueba Técnica Full Stack

Esta es la solución a la prueba técnica Full Stack, implementando un sistema de gestión bancaria (Clientes, Cuentas, Movimientos). La aplicación está completamente dockerizada.


Pila Tecnológica

  • Backend: .NET 8 (Clean Architecture, EF Core, xUnit)
  • Frontend: Angular 18 (Standalone Components, SCSS, Jest)
  • Base de Datos: SQL Server
  • Despliegue: Docker (docker-compose con 3 servicios)

Despliegue y Ejecución (Docker)

Siga estos pasos para levantar la solución completa.

Prerrequisitos

1. Levantar los Contenedores

Ejecute el siguiente comando desde la raíz del repositorio:

docker-compose up -d --build

2. Acceder a la Aplicación

Una vez que todos los contenedores estén en estado "Up", acceda a las siguientes URLs:

3. Verificar Estado de los Servicios

docker-compose ps

4. Detener la Aplicación

docker-compose down

Para eliminar también los volúmenes (incluyendo la base de datos):

docker-compose down --volumes

Características Implementadas

Backend (.NET 8)

  • Arquitectura limpia con separación en capas (Domain, Application, Infrastructure, WebAPI)
  • Entity Framework Core
  • Patrón Repository y Unit of Work
  • Validaciones con FluentValidation
  • Documentación de API con Swagger/OpenAPI
  • Manejo centralizado de excepciones
  • Configuración de CORS para el frontend

Frontend (Angular 18)

  • Componentes standalone
  • Módulos de rutas
  • Servicios HTTP para comunicación con API
  • Interceptores para manejo de errores
  • Estilos con SCSS
  • Environment configurations para desarrollo y producción

Base de Datos

  • SQL Server en contenedor Docker
  • Migraciones automáticas al iniciar la aplicación
  • Modelos: Clientes, Cuentas, Movimientos
  • Restricciones de integridad referencial

Estructura del Proyecto

devsu/
├── BancoSolucion/          # Solución .NET Backend
│   ├── Domain/            # Entidades y interfaces de dominio
│   ├── Application/       # Casos de uso y DTOs
│   ├── Infrastructure/    # Implementaciones de repositorios, DbContext
│   └── WebAPI/           # Controladores, configuración, Program.cs
├── banco-app/             # Frontend Angular
│   ├── src/app/          # Componentes, servicios, modelos
│   └── environments/     # Configuraciones para dev/prod
└── docker-compose.yml    # Orquestación de contenedores

Notas Técnicas

  • La base de datos se crea automáticamente al iniciar la aplicación
  • Las migraciones de Entity Framework se aplican en el inicio
  • El frontend se comunica con el backend a través de CORS configurado
  • Los contenedores están en una red bridge compartida
  • Los datos de la base de datos persisten en un volumen Docker

Desarrollo Local

Backend (sin Docker)

cd BancoSolucion
dotnet run --project WebAPI

Frontend (sin Docker)

cd banco-app
npm install
ng serve

About

Solución a la prueba técnica Full Stack para Devsu. Aplicación bancaria completa construida con .NET 8 (Clean Architecture) y Angular 18, desplegada con Docker.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors