## Ejemplo de Aplicaci贸n .NET con MVC y API REST 馃殌 A continuaci贸n, encontrar谩s instrucciones detalladas sobre c贸mo configurar y ejecutar este proyecto .NET. El proyecto consta de varios componentes que incluyen l贸gica de negocio, aplicaciones web y una API REST para administrar productos. ## Estructura del Proyecto La estructura del proyecto es la siguiente: ``` - global.json - Products.sln - Products.Common/ - Products.Business/ - Products.Backoffice/ - Products.API/ - Products.Frontoffice/ ``` - **global.json**: Archivo de configuraci贸n global para la versi贸n de .NET SDK. - **Products.sln**: Archivo de soluci贸n principal del proyecto. - **Products.Common**: Contiene DTOs y excepciones compartidas. - **Products.Business**: Contiene la l贸gica de negocio del proyecto, incluidos servicios y repositorios. - **Products.Backoffice**: Aplicaci贸n MVC para el backoffice de administraci贸n. - **Products.API**: API REST para administrar productos. En desarrollo, la documentaci贸n interactiva est谩 disponible en `/scalar/v1`. - **Products.Frontoffice**: Proyecto Svelte que muestra c贸mo consumir la API REST. ## Pasos para Iniciar A continuaci贸n, se describen los pasos para configurar y ejecutar el proyecto: 1. **Requisitos Previos**: - Aseg煤rate de tener instalado el SDK de .NET 10 en tu m谩quina. - Aseg煤rate de tener Node.js instalado para ejecutar el proyecto Svelte. 2. **Clonar el Repositorio**: Clona el repositorio del proyecto desde su ubicaci贸n. 3. **Restaurar Paquetes NuGet**: Abre una terminal en la ubicaci贸n de la soluci贸n (`Products.sln`) y ejecuta el comando: ``` dotnet restore ``` 4. **Ejecutar Aplicaciones .NET**: - Para el proyecto Backoffice, navega a la carpeta `Products.Backoffice` en la terminal y ejecuta: ```bash dotnet run ``` o desde la raiz del proyecto: ```bash dotnet run --project Products.Backoffice ``` - Para el proyecto API, navega a la carpeta `Products.API` en la terminal y ejecuta: ```bash dotnet run ``` o desde la raiz del proyecto: ```bash dotnet run --project Products.API ``` 5. **Ejecutar Proyecto Svelte**: - Navega a la carpeta `Products.Frontoffice` en la terminal. - Instala las dependencias ejecutando `npm install`. - Luego, inicia la aplicaci贸n con `npm run dev`. 6. **隆Listo!**: Ahora puedes acceder a las aplicaciones desde tu navegador y probar la API REST. Adem谩s, el proyecto Svelte te mostrar谩 c贸mo consumir la API desde un frontend. ## Migraciones (branch `migrations`) Instalar `dotnet ef` ([how-to](https://learn.microsoft.com/en-us/ef/core/cli/dotnet)) para poder gestionar las migraciones. - `dotnet ef database update`: Actualiza la base de datos - `dotnet ef migrations add `: Crea una nueva migraci贸n - `dotnet ef migrations remove `: Elimina una migraci贸n - `dotnet ef migrations list`: Lista las migraciones ```bash dotnet ef database update dotnet ef migrations add dotnet ef migrations remove dotnet ef migrations list ``` **Nota**: Como este proyecto utiliza la base de datos SQLite, es importante que se respete la ubicaci贸n de la base de datos. Es por ello que los comandos deben ser ejecutados desde la raiz del proyecto haciendo uso del flag `--project`. ```bash dotnet ef database update --project Products.Business dotnet ef migrations add --project Products.Business dotnet ef migrations remove --project Products.Business dotnet ef migrations list --project Products.Business ``` ## Deploy en Fly.io Se ha realizado un deploy de la aplicaci贸n MVC en Fly.io. Puedes acceder a ella desde el siguiente enlace: ~~https://tsi-products.fly.dev/~~ https://products.mz.uy/