🎥 Haz clic aquí para ver la Demo en Video
Full-stack application for managing products, clients, and sales with secure JWT authentication.
- .NET 9.0 (Latest)
- C#
- SQL Server
- Entity Framework Core (Code-First)
- JWT Authentication (JSON Web Tokens)
- BCrypt for secure password hashing
- Vue.js 3 (Composition API)
- Axios (HTTP Client)
- Vue Router
- Bootstrap / Tailwind (Visual Framework)
- 🔐 Secure Authentication: JWT-based login and registration.
- 📦 Product Management: Complete CRUD with stock control.
- 👥 Client Management: Database of clients.
- 💰 Sales Processing: Transactional sales recording.
- 📱 Responsive Design: Optimized for mobile and desktop.
- 🔌 RESTful API: Clean and standard API architecture.
This project follows industry best practices for scalability and maintainability:
- Layered Architecture: Strict separation of concerns (Controllers → Services → Data Layer).
- Service Layer Pattern: Encapsulates business logic and keeps Controllers clean.
- SOLID Principles: Extensive use of Dependency Injection and Interface Segregation.
- Unit Testing: Integrated testing suite for backend logic.
- Update the connection string in
appsettings.json:
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=ProductSalesDB;Trusted_Connection=True;TrustServerCertificate=True"
}- Run migrations:
dotnet ef database update- Start the API:
dotnet run- Navigate to frontend folder:
cd product-sales-frontend- Install dependencies:
npm install- Start development server:
npm run devPOST /api/auth/register- Register new userPOST /api/auth/login- Login and get JWT token
GET /api/products- Get all productsPOST /api/products- Create productGET /api/products/{id}- Get by IDPUT /api/products/{id}- UpdateDELETE /api/products/{id}- Delete
GET /api/sales- Get all salesPOST /api/sales- Create sale
Harold Toribio

