Sistema de Punto de Venta (POS) completo para MerkaCentro desarrollado con .NET 8 MVC y arquitectura hexagonal.
- .NET 8 - Framework principal
- ASP.NET Core MVC - Capa de presentacion
- Entity Framework Core 8 - ORM y acceso a datos
- SQL Server - Base de datos
- Bootstrap 5 - UI/UX
- FluentValidation - Validaciones
- xUnit - Testing
El proyecto sigue una arquitectura hexagonal (Clean Architecture):
MerkaCentro.sln ├── src/ │ ├── MerkaCentro.Domain/ # Entidades, Value Objects, Puertos │ ├── MerkaCentro.Application/ # Casos de uso, DTOs, Servicios │ ├── MerkaCentro.Infrastructure/# Repositorios, DbContext, Servicios externos │ └── MerkaCentro.Web/ # Controllers, Views, UI └── tests/ ├── MerkaCentro.Domain.Tests/ ├── MerkaCentro.Application.Tests/ └── MerkaCentro.Infrastructure.Tests/ - .NET 8 SDK
- SQL Server (una de las siguientes opciones):
- SQL Server Express/Developer (Windows)
git clone https://github.com/tu-usuario/MerkaCentro.git cd MerkaCentroLuego, actualiza la cadena de conexion en src/MerkaCentro.Web/appsettings.json:
{ "ConnectionStrings": { "DefaultConnection": "Server=localhost,1433;Database=MerkaCentroDb;User Id=sa;Password=MerkaCentro123!;TrustServerCertificate=True" } }dotnet restoredotnet ef database update --project src/MerkaCentro.Infrastructure --startup-project src/MerkaCentro.Webdotnet run --project src/MerkaCentro.WebLa aplicacion estara disponible en: http://localhost:5095
Al ejecutar por primera vez, se crea un usuario administrador:
-
Usuario:
admin -
Contrasena:
Admin123! -
Usuario:
admin1 -
Contrasena:
Admin123! -
**
fD2KeGexi0ixy8Tzx8rmfbk7V9j20BWeCAPjHSPa3sbG0hIZ0nfiKwEa1sSSsJnd es Admin123!
- Punto de Venta (POS) - Interfaz de ventas con carrito y multiples metodos de pago
- Productos - CRUD completo, categorias, historial de precios
- Inventario - Gestion de stock, kardex, alertas de stock bajo
- Caja - Apertura/cierre de turno, arqueo, movimientos
- Clientes - Gestion de clientes, sistema de credito/fiado
- Proveedores - CRUD de proveedores
- Compras - Ordenes de compra, recepcion de mercancia
- Gastos - Registro y categorizacion de gastos operativos
- Dashboard - KPIs y metricas en tiempo real
- Reportes - Ventas, inventario, rentabilidad
- Alertas - Stock bajo, productos por vencer, deudas
- Auditoria - Logs de todas las operaciones
- Backup - Respaldo y restauracion de base de datos
- Sincronizacion - Soporte offline-first con cola de sincronizacion
- Autenticacion basada en cookies
- Roles: Administrador y Cajero
- Permisos por modulo
Products- Productos del inventarioCategories- Categorias de productosSales/SaleItems- Ventas y detalleCustomers- ClientesSuppliers- ProveedoresPurchaseOrders- Ordenes de compraCashRegisters- Turnos de cajaUsers- Usuarios del sistema
# Compilar solucion dotnet build # Ejecutar tests dotnet test # Ejecutar con hot reload dotnet watch run --project src/MerkaCentro.Web # Crear nueva migracion dotnet ef migrations add NombreMigracion --project src/MerkaCentro.Infrastructure --startup-project src/MerkaCentro.Web # Revertir ultima migracion dotnet ef migrations remove --project src/MerkaCentro.Infrastructure --startup-project src/MerkaCentro.Web{ "ConnectionStrings": { "DefaultConnection": "..." }, "Backup": { "Path": "./Backups" }, "Logging": { "LogLevel": { "Default": "Information" } } }- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcionalidad) - Commit tus cambios (
git commit -m 'Agregar nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request
Este proyecto esta bajo la Licencia MIT. Ver el archivo LICENSE para mas detalles. Autor alex dia Desarrollador: Señor Fecha:13/02/2026