Skip to content

offbyone-dev/InventoryManagementPro

Repository files navigation

πŸ“¦InventoryManagementPro

A full-featured Inventory Management System built using ASP.NET Core MVC (.NET 8) and Entity Framework Core, featuring role-based authentication and a dynamic analytics dashboard.


Project Overview

InventoryManagementPro is a structured, production-ready inventory system designed to manage:

  • Products
  • Suppliers
  • Orders
  • Sales
  • Stock updates
  • Dashboard analytics

The system follows clean architecture principles:

Controller β†’ Data Layer


Features

Authentication & Authorization

  • ASP.NET Core Identity
  • Role-based access control (Admin / Staff)
  • Secure login system
  • [Authorize] implementation
  • Seeder-based demo accounts

Product Management

  • Full CRUD operations
  • Category support
  • Reorder level tracking
  • Stock status logic (In Stock / Low Stock / Out of Stock)
  • Search & filtering support

Supplier Management

  • Supplier CRUD operations
  • Product ↔ Supplier relationship binding

Orders System

  • Create orders with multiple items
  • Automatic stock deduction
  • Order history tracking
  • Dynamic calculations

Dynamic Dashboard

  • Total Products
  • Total Orders
  • Low Stock Alerts
  • Revenue summary
  • Chart.js integration
  • Optimized EF Core queries

Reports

  • Sales report
  • Order details report
  • Filter & search support

Tech Stack

  • Backend: ASP.NET Core MVC (.NET 8)
  • Database: SQL Server
  • ORM: Entity Framework Core
  • Authentication: ASP.NET Core Identity
  • Frontend: Bootstrap 5
  • Charts: Chart.js
  • Version Control: Git & GitHub

πŸ“‚Project Structure

InventoryManagementPro/
β”‚
β”œβ”€β”€ Controllers/
β”‚   β”œβ”€β”€ DashboardController.cs
β”‚   β”œβ”€β”€ ProductsController.cs
β”‚   β”œβ”€β”€ OrdersController.cs
β”‚   β”œβ”€β”€ SuppliersController.cs
β”‚   β”œβ”€β”€ SalesController.cs
β”‚   └── ReportsController.cs
β”‚
β”œβ”€β”€ Models/
β”‚   β”œβ”€β”€ Product.cs
β”‚   β”œβ”€β”€ Order.cs
β”‚   β”œβ”€β”€ OrderItem.cs
β”‚   β”œβ”€β”€ Supplier.cs
β”‚   └── ViewModels/
β”‚       β”œβ”€β”€ DashboardVM.cs
β”‚       β”œβ”€β”€ SalesVM.cs
β”‚       └── LoginVM.cs
β”‚
β”œβ”€β”€ Data/
β”‚   β”œβ”€β”€ AppDbContext.cs
β”‚   └── IdentitySeeder.cs
β”‚
β”œβ”€β”€ Views/
β”‚   β”œβ”€β”€ Dashboard/
β”‚   β”œβ”€β”€ Products/
β”‚   β”œβ”€β”€ Orders/
β”‚   β”œβ”€β”€ Suppliers/
β”‚   β”œβ”€β”€ Sales/
β”‚   β”œβ”€β”€ Reports/
β”‚   └── Account/
β”‚
β”œβ”€β”€ wwwroot/
β”‚   β”œβ”€β”€ css/
β”‚   β”œβ”€β”€ js/
β”‚   β”œβ”€β”€ images/
β”‚   └── lib/
β”‚
β”œβ”€β”€ screenshots/
β”‚   β”œβ”€β”€ login.png
β”‚   β”œβ”€β”€ dashboard.png
β”‚   β”œβ”€β”€ products.png
β”‚   β”œβ”€β”€ orders.png
β”‚   β”œβ”€β”€ suppliers.png
β”‚   β”œβ”€β”€ sales.png
β”‚   └── reports.png
β”‚
β”œβ”€β”€ appsettings.json
β”œβ”€β”€ appsettings.Development.json
β”œβ”€β”€ InventoryManagementPro.csproj
β”œβ”€β”€ Program.cs
└── README.md

How to Run Locally

Follow the steps below to run this project on your local machine.

1️⃣ Clone the Repository

git clone https://github.com/offbyone-dev/InventoryManagementPro.git

2️⃣ Navigate into the Project Folder

cd InventoryManagementPro

3️⃣ Configure Database Connection. Open the file:

appsettings.json

Update the connection string according to your SQL Server setup. Example:

"ConnectionStrings": {
  "DefaultConnection": "Server=localhost\\SQLEXPRESS;Database=InventoryManagementProDb;Trusted_Connection=True;TrustServerCertificate=True;"
}

4️⃣Apply Database Migrations. Make sure SQL Server is running, then execute:

dotnet ef database update

5️⃣Run the Application

dotnet run

The application will start locally :

https://localhost:7075

Demo Credentials

Admin

  • Email: admin@ims.com
  • Password: Admin123!

Staff

  • Email: staff@ims.com
  • Password: Staff123!

Seeder enabled for demo accounts.


Screenshots

Login Page

Login Page


Dashboard

Dashboard


Products Page

Products


Sales Page

Sales


Orders Page

Orders


Suppliers Page

Suppliers


Reports Page

Reports


πŸŽ₯Project Demo

Watch Full Demo Video: πŸ‘‰ https://youtu.be/EuDRAowlD7A


🌐Deployment

The project is deployment-ready.

Due to temporary hosting limitations, a public live demo is not currently available.

Cloud deployment (Azure) will be added in a future update.

About

Production-ready Inventory Management System built with ASP.NET Core MVC (.NET 8), Entity Framework Core, role-based authentication and dynamic dashboard analytics.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors