This is a backend project developed to showcase technical skills in RESTful API development, software architecture, and database management. It's part of my personal portfolio as a .NET developer.
Demonstrate competencies in:
- REST API development with .NET Core
- Implementation of clean, scalable architectures
- Relational database management with Entity Framework
- JWT security and authentication implementation
- Development best practices and testing
- .NET 10.0 - Main framework
- C# 14.0 - Programming language
- ASP.NET Core Web API - For REST API construction
- Entity Framework Core - ORM for data access
- PostgreSQL - Relational database
- JWT - Token-based authentication
- BCrypt - Password encryption
- XUnit + Moq - Unit testing
- Angular 21 - Frontend framework
- TypeScript - JavaScript superset
- RxJS - Reactive programming
- Angular Material - UI components
π Frontend available at: https://github.com/your-username/inventory-frontend
- REST Architecture with clear separation of concerns
- Repository Pattern for data access abstraction
- Controller-Service-Repository for modular organization
- DTOs for secure data transfer
- Dependency Injection with .NET Core
- JWT (JSON Web Tokens) based authentication
- BCrypt for secure password hashing
- Custom authorization middleware
- Input validation on all endpoints
- Normalized design with PostgreSQL
- Entity Framework Core with migrations
- Optimized indexes for frequent queries
- Integrity constraints at database level
- Unit tests with XUnit and Moq
- SOLID principles applied
- Clean, maintainable code
- Endpoint documentation
InventoryBackend/
βββ Controllers/ # API REST Controllers
β βββ AuthController.cs
β βββ ProductsController.cs
β βββ InventoryController.cs
βββ Services/ # Business logic
β βββ AuthService.cs
β βββ ProductService.cs
β βββ InventoryService.cs
βββ Models/ # Domain entities
β βββ User.cs
β βββ Product.cs
β βββ Movement.cs
βββ Data/ # EF Context and migrations
β βββ AppDbContext.cs
βββ DTOs/ # Data Transfer Objects
βββ Helpers/ # Utilities and extensions
βββ Middlewares/ # Custom middleware
βββ Tests/ # Unit tests
- Visual Studio 2022 or VS Code
- .NET SDK 10.0
- PostgreSQL 16+
- Git
# 1. Clone repository
git clone https://github.com/your-username/inventory-backend.git
# 2. Configure database
# Edit appsettings.json with your PostgreSQL connection
# 3. Restore dependencies
dotnet restore
# 4. Run migrations
dotnet ef database update
# 5. Run application
dotnet run| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register |
User registration |
| POST | /api/auth/login |
JWT authentication |
| GET | /api/products |
List products |
| POST | /api/products |
Create product |
| GET | /api/inventory |
Check inventory |
| POST | /api/movements |
Register movement |
# Run unit tests
dotnet test
# Test coverage >80% on critical components- RESTful APIs with ASP.NET Core
- JWT authentication and authorization
- Entity Framework Core and migrations
- Relational database design
- Scalable software architecture
- SOLID principles
- Dependency injection
- Unit testing
- Version control with Git
- API documentation
- Environment configuration
- Database connection management
- Environment variables
- Migration scripts
This backend is designed to work with an Angular frontend application that consumes the API through authenticated HTTP requests. Communication is handled via JSON and JWT tokens.
During this project's development, I reinforced:
- Professional RESTful API design
- Web application security
- Database query optimization
- .NET application testing
- Technical project documentation
Educational project - Free for personal and portfolio use.
Developer: Marco Antonio Romero Albanez
Email: marconchelo12@gmail.com
LinkedIn: Marco Antonio Romero Albanez
GitHub: MazMorrDev
This project is part of my personal portfolio as a .NET developer. All functionalities have been implemented for demonstrative and educational purposes.









