Skip to content

MazMorrDev/MiniMazERP-API

Repository files navigation

Inventory Management API - Backend Project

πŸ“Œ Portfolio Project

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.

🎯 Project Purpose

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

πŸ—οΈ Technology Stack

Backend

  • .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

Frontend (Complementary Project)

  • Angular 21 - Frontend framework
  • TypeScript - JavaScript superset
  • RxJS - Reactive programming
  • Angular Material - UI components

πŸ”— Frontend available at: https://github.com/your-username/inventory-frontend

πŸ“Š Technical Features Demonstrated

1. Architecture & Patterns

  • 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

2. Security

  • JWT (JSON Web Tokens) based authentication
  • BCrypt for secure password hashing
  • Custom authorization middleware
  • Input validation on all endpoints

3. Database

  • Normalized design with PostgreSQL
  • Entity Framework Core with migrations
  • Optimized indexes for frequent queries
  • Integrity constraints at database level

4. Code Quality

  • Unit tests with XUnit and Moq
  • SOLID principles applied
  • Clean, maintainable code
  • Endpoint documentation

πŸ“ Project Structure

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

πŸ”§ Local Installation

Requirements

  • Visual Studio 2022 or VS Code
  • .NET SDK 10.0
  • PostgreSQL 16+
  • Git

Quick Steps

# 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

πŸ“‘ Main Endpoints

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

πŸ§ͺ Testing

# Run unit tests
dotnet test

# Test coverage >80% on critical components

πŸ“Έ Visual Demonstration

Database Model

MER Database Diagram

ER Database Diagram

Use Cases

Use Cases

Use Cases Implemented

Inventory Management Diagram

Movement Management Diagram

Login Management Diagram

Signup Management Diagram

API Tests

Integration Testing 1

Integration Testing 2

Integration Testing 3

πŸŽ“ Skills Demonstrated

Backend Development

  • RESTful APIs with ASP.NET Core
  • JWT authentication and authorization
  • Entity Framework Core and migrations
  • Relational database design
  • Scalable software architecture

Best Practices

  • SOLID principles
  • Dependency injection
  • Unit testing
  • Version control with Git
  • API documentation

Basic DevOps

  • Environment configuration
  • Database connection management
  • Environment variables
  • Migration scripts

πŸ”„ Frontend Integration

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.

πŸ“š Key Learnings

During this project's development, I reinforced:

  • Professional RESTful API design
  • Web application security
  • Database query optimization
  • .NET application testing
  • Technical project documentation

πŸ“„ License

Educational project - Free for personal and portfolio use.

πŸ‘€ Contact

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages