Este proyecto es un backend desarrollado en .NET 8 que utiliza PostgreSQL como base de datos. Incluye un archivo docker-compose.yml para levantar la base de datos en un contenedor Docker y está preparado para aplicar migraciones de Entity Framework Core.
-
.NET 8 SDK: Es obligatorio tener instalada la versión 8 del SDK de .NET para compilar y ejecutar el proyecto.
-
dotnet-ef 8: La herramienta de Entity Framework Core debe estar en la versión 8 para poder aplicar migraciones correctamente.
-
Docker y Docker Compose: Necesarios para levantar la base de datos PostgreSQL en contenedores.
-
Cliente de PostgreSQL (opcional): Útil si se desea conectarse manualmente a la base de datos para inspección o pruebas.
-
Clonar el repositorio:
git clone https://github.com/jonathan-espinal/tuya-fullstack-back.git -
Levantar la base de datos con Docker Compose:
cd creditapp-backenddocker-compose up -dEsto iniciará un contenedor con PostgreSQL según la configuración definida en docker-compose.yml.
-
Aplicar migraciones a la base de datos:
dotnet ef database update -p CreditApp.Common -s CreditApp.API -
Lanzar la aplicación:
dotnet run --project CreditApp.APIEsto iniciará el backend en el puerto configurado (por defecto suele ser http://localhost:5098 o https://localhost:7210).
Al ejecutar la aplicación por primera vez, se crearán automáticamente dos usuarios de prueba con las siguientes credenciales:
(John Doe)
email: john_doe@creditapp.com
password: password123
(Jane Doe)
email: jane_doe@creditapp.com
password: password123
Es posible acceder a la interfaz de Swagger para probar los endpoints de la API.
Una vez que la aplicación esté en ejecución, abre el navegador y entra a la siguiente ruta:
http://localhost:5098/swagger/index.html
(o el puerto HTTPS configurado, por ejemplo https://localhost:7210/swagger/index.html).
Swagger proporciona una documentación interactiva donde se pueden visualizar todos los endpoints disponibles, sus parámetros y respuestas. Además, permite ejecutar las peticiones directamente desde la interfaz, lo que facilita las pruebas sin necesidad de usar herramientas externas como Postman o cURL.
-
CreditApp.API:
Proyecto principal (startup). Contiene la configuración inicial y expone los endpoints de la aplicación.
-
CreditApp.Common:
Contiene las entidades, configuraciones compartidas y las migraciones de Entity Framework Core.
-
CreditApp.Auth:
Sistema de usuario y login. Aquí se implementa la autenticación y autorización utilizando ASP.NET Identity Framework junto con JWT (JSON Web Tokens).
El flujo de login genera un token JWT firmado que el cliente debe enviar en cada petición posterior dentro del encabezado
Authorization: Bearer <token>. Esto permite validar de forma segura la identidad del usuario y sus permisos sin necesidad de mantener sesiones en memoria del servidor. -
CreditApp.Cards:
Sistema encargado de manejar las tarjetas, pagos y transacciones. Incluye la lógica de negocio relacionada con operaciones financieras y el registro de movimientos.
-
Levantar la base de datos en Docker:
docker-compose up -d -
Detener la base de datos:
docker-compose down -
Aplicar migraciones:
dotnet ef database update -p CreditApp.Common -s CreditApp.API -
Ejecutar la API:
dotnet run --project CreditApp.API
-
Asegúrate de que el contenedor de PostgreSQL esté corriendo antes de aplicar migraciones o ejecutar la API.
-
El usuario de ejemplo se crea automáticamente para facilitar pruebas iniciales.