Este proyecto es el backend de la aplicación Wishlist. Permite a los usuarios autenticarse, agregar productos a su lista de deseos y manejar sus productos. El backend está construido con ASP.NET Core y Entity Framework para la interacción con la base de datos.
Asegúrate de tener instaladas las siguientes herramientas antes de empezar:
- .NET 6 SDK: El proyecto utiliza .NET 6 como plataforma principal.
- SQL Server: Para la base de datos. Puedes configurarlo de manera local o usar un servidor remoto.
- Postman (opcional): Para probar las API manualmente.
- .NET 6: Framework principal para la construcción del backend.
- Entity Framework Core: ORM para interactuar con la base de datos SQL Server.
- ASP.NET Core: Framework para construir APIs RESTful.
- Microsoft Identity: Para la gestión de usuarios, hashing de contraseñas y autenticación.
El proyecto depende de varios paquetes NuGet. Aquí tienes los más importantes:
- Microsoft.EntityFrameworkCore
- Microsoft.EntityFrameworkCore.SqlServer
- Microsoft.AspNetCore.Identity.EntityFrameworkCore
- Microsoft.AspNetCore.Authentication.JwtBearer (si decides añadir JWT más adelante)
Clona el repositorio del proyecto en tu máquina local.
Este proyecto utiliza SQL Server. Asegúrate de tener SQL Server corriendo localmente o en un servidor remoto.
- Crea una nueva base de datos para este proyecto en SQL Server.
- Configura la conexión a la base de datos en el archivo
appsettings.json.
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=WishlistDB;User Id=sa;Password=your_password;"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}- DefaultConnection: Cambia el valor para reflejar tu servidor de base de datos, nombre de la base de datos, y credenciales.
El proyecto usa Entity Framework Core para manejar las migraciones de la base de datos.
Para aplicar las migraciones a la base de datos y crear las tablas necesarias, utiliza el comando correspondiente en tu CLI preferida.
Una vez que la base de datos está configurada, puedes ejecutar el proyecto. El servidor correrá en https://localhost:5001/ o http://localhost:5000/.
Aquí hay una lista de los endpoints más relevantes para la API:
-
POST /auth/login: Iniciar sesión.
- Body:
{ "email": "user@example.com", "password": "password123" }
- Body:
-
POST /auth/registro: Registrar un nuevo usuario.
- Body:
{ "email": "newuser@example.com", "password": "password123", "nombreUsuario": "NewUser" }
- Body:
-
GET /deseados/{userId}: Obtener la lista de deseos del usuario.
-
POST /deseados/agregar: Agregar un producto a la wishlist.
- Body:
{ "userId": 1, "productoId": 12 }
- Body:
-
DELETE /deseados/eliminar: Eliminar un producto de la wishlist.
- Body:
{ "userId": 1, "productoId": 12 }
- Body:
Puedes utilizar Postman o cURL para probar los endpoints del API.
Si tienes pruebas unitarias o de integración configuradas en el proyecto, puedes ejecutarlas con el comando correspondiente en tu CLI.
- Error de conexión con la base de datos: Verifica que la cadena de conexión en
appsettings.jsonsea correcta y que el servidor de SQL esté en funcionamiento. - Errores de migración: Si tienes problemas con las migraciones, asegúrate de que el proyecto tiene las dependencias de Entity Framework Core correctamente instaladas y que la base de datos está accesible.
Si deseas contribuir al proyecto, por favor:
- Haz un fork del repositorio.
- Crea una nueva rama con tu funcionalidad o corrección de errores.
- Haz un pull request a la rama principal del proyecto.