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.
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
- ASP.NET Core Identity
- Role-based access control (Admin / Staff)
- Secure login system
[Authorize]implementation- Seeder-based demo accounts
- Full CRUD operations
- Category support
- Reorder level tracking
- Stock status logic (In Stock / Low Stock / Out of Stock)
- Search & filtering support
- Supplier CRUD operations
- Product β Supplier relationship binding
- Create orders with multiple items
- Automatic stock deduction
- Order history tracking
- Dynamic calculations
- Total Products
- Total Orders
- Low Stock Alerts
- Revenue summary
- Chart.js integration
- Optimized EF Core queries
- Sales report
- Order details report
- Filter & search support
- 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
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
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
- Email:
admin@ims.com - Password:
Admin123!
- Email:
staff@ims.com - Password:
Staff123!
Seeder enabled for demo accounts.
Watch Full Demo Video: π https://youtu.be/EuDRAowlD7A
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.






