Skip to content

Inventory Management System built with ASP.NET Core MVC (.NET 8), EF Core, and MySQL—roles (Admin/Supplier/User), Identity auth, image uploads, low-stock alerts, and Excel export. Roadmap: reports, dashboard, Azure deploy.

Notifications You must be signed in to change notification settings

omarmahgoubb/.NET_Inventory-Management-System_DEPI

Repository files navigation

📦 Inventory Management System (ASP.NET Core MVC, .NET 8 + MySQL)

.NET

A production-ready Inventory Management System built with ASP.NET Core MVC (.NET 8), Entity Framework Core, and MySQL.
Includes Identity (auth), role-based access (Admin / Supplier / User), image uploads (stored as byte[]), low-stock + activity notifications, and Excel export.


✨ Features

  • Auth & Users (Microsoft Identity) — register/login, password hashing, cookie auth
  • Roles
    • Admin: full CRUD on Products, Categories, Suppliers, Inventories; assign roles
    • Supplier: add products; choose inventory & category
    • Registered User: read-only tables & details
  • Inventory Ops — CRUD, stock checks, low-quantity alerts
  • File Uploads & Images — validate & store as byte[] in DB
  • Notifications — on low stock and CRUD (add/edit/delete)
  • Export — download entities (e.g., Products) to Excel (.xlsx)

🧱 Tech Stack

  • Framework: ASP.NET Core MVC (.NET 8)
  • ORM: Entity Framework Core
  • Database: MySQL 8.x (InnoDB)
  • Auth: ASP.NET Core Identity (roles + policies)
  • Excel: EPPlus or ClosedXML
  • Docs: Swagger (optional)

🔐 Roles & Permissions

Admin

  • Full CRUD on all entities
  • Assign/reassign roles

Supplier

  • Create products; select inventory & category

Registered User

  • Read-only access to tables and details

Authorization is enforced via policies/attributes on controllers/actions and in views.


📤 Excel Export

  • Export product (and other entity) lists to .xlsx with headers & basic formatting
  • Example route (adjust to your controller):
    GET /Products/Export → downloads products.xlsx
  • Libraries: EPPlus or ClosedXML

🔔 Notifications

  • Low stock: triggered when quantity < threshold (configurable)
  • Activity: on product create / update / delete
  • Display as UI toasts/alerts or persist in a log table for auditing

🗺️ Architecture

flowchart LR
  UI[ASP.NET Core MVC Views] --> Svc[Domain Services]
  Svc --> UoW[Unit of Work]
  UoW --> Repo[(Repositories)]
  Repo --> DB[(MySQL)]
  UI --> Identity[ASP.NET Identity]
  Svc --> Files["Image Storage as byte[]"]
  Svc --> Notif[Notification Service]
Loading

About

Inventory Management System built with ASP.NET Core MVC (.NET 8), EF Core, and MySQL—roles (Admin/Supplier/User), Identity auth, image uploads, low-stock alerts, and Excel export. Roadmap: reports, dashboard, Azure deploy.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published