Case study

GestionStock

Commercial and stock management system for products, suppliers, invoices, stock movements, users, and role-based dashboards.

Role

Full-stack development, MVC architecture, authentication, persistence, and dashboard workflows.

  • C#
  • ASP.NET Core MVC
  • Entity Framework Core
  • SQLite
  • Cookie Authentication
  • Claims
  • Razor Pages
  • HTML5
  • CSS
  • Bootstrap
  • Tailwind CSS
  • Git
  • GitHub
GestionStock cover screenshot

Context

Project overview

GestionStock is positioned as a commercial management system where operational data, user roles, invoices, and stock flows need to stay coherent.

Problem

Commercial operations need a structured way to manage products, suppliers, invoices, users, and stock movements without mixing responsibilities or exposing sensitive actions to the wrong roles.

Objectives

  • Role-based Admin and Employee dashboards with Cookie Authentication and Claims.
  • Product, category, supplier, invoice, and stock movement workflows modeled in MVC.
  • Security practices include password hashing, CSRF protection, and ValidateAntiForgeryToken.

Solution

What was built

Built an ASP.NET Core MVC application with Entity Framework Core persistence, role-based dashboards, secure authentication, invoice workflows, and stock movement tracking.

Why this approach

The MVC approach was chosen to keep routing, business workflows, data persistence, and views separated while remaining understandable for a maintainable web application.

Architecture

A structured view of the technical blocks and responsibilities planned in the project.

Frontend

Frontend

Razor views with HTML5, CSS, Bootstrap, and Tailwind CSS for role-based dashboards and management screens.

Backend

Backend

ASP.NET Core MVC controllers and services organizing products, categories, suppliers, invoices, users, and stock movements.

Database

Database

SQLite persistence through Entity Framework Core with domain entities for commercial and stock data.

Authentication

Authentication

Cookie Authentication, Claims, password hashing, role management, and CSRF protection with ValidateAntiForgeryToken.

Integrations

Integrations

GitHub repository with README documentation, UML diagram, and demo video.

Technical challenges

  • Keeping invoice details, product stock, and stock movements consistent across workflows.
  • Separating Admin and Employee permissions without duplicating controller logic.
  • Designing a maintainable MVC structure with Entity Framework Core persistence.

Engineering decisions

Role-based Admin and Employee dashboards with Cookie Authentication and Claims.

Product, category, supplier, invoice, and stock movement workflows modeled in MVC.

Security practices include password hashing, CSRF protection, and ValidateAntiForgeryToken.

Quality & testing

Quality is presented as a progressive engineering approach: targeted tests, readability, static analysis, and documented decisions.

Testing approach

The project emphasizes secure authentication, CSRF protection, persistence consistency, and clear separation of responsibilities.

Maintainability and analysis

  • Readable architecture and separated responsibilities

Results

  • Demo video and UML diagram are available in the repository README.
  • Repository documents the application structure and commercial management scope.
  • No production usage or business metrics are claimed.

Lessons learned

These takeaways turn the project into evidence of technical reasoning, not just a feature list.

  • Turn "Commercial operations need a structured way to manage products, suppliers, invoices, users, and stock movements without mixing responsibilities or exposing sensitive actions to the wrong roles." into explicit technical decisions.
  • Present trade-offs clearly so an engineering team can review the reasoning.
  • Connect architecture, testing, and maintainability to a concrete problem.