How sothpanhharupp/inventory-management-system-ooad works
This is a Windows desktop inventory-control application. Staff and administrators sign in, then use the dashboard to manage products and categories, record stock movements, inspect inventory and reports, and preview invoices. The core domain layer validates operations and coordinates repositories; SQL Server stores operational records. The README documents the product and setup, while the graph’s detailed links follow sampled source references and excerpts; unsampled product areas are included only where supported by the README or source index.
Main entry points: DashboardForm.cs Inventory dashboard · InventoryService.cs Inventory operations · DatabaseHelper.cs ADO.NET access · AuthService.cs Authentication and users
Components 20
Desktop interface
- Login
UI/LoginForm.cs - Inventory dashboard
UI/DashboardForm.cs - Product management
UI/AddEditProductModalForm.cs - Category management
UI/AddEditCategoryModalForm.cs - User management
UI/AddEditUserModalForm.cs - Stock movements
UI/StockTransactionModalForm.cs - Invoice preview
UI/InvoicePreviewForm.cs
Domain services
- Authentication and users
BusinessLogic/AuthService.cs - Inventory operations
BusinessLogic/InventoryService.cs
Data access
- User records
DataAccess/UserRepository.cs - Product records
DataAccess/ProductRepository.cs - Category records
DataAccess/CategoryRepository.cs - Stock transactions and reports
DataAccess/TransactionRepository.cs - ADO.NET access
DataAccess/DatabaseHelper.cs
Supporting capabilities
- Restock alerts
BusinessLogic/TelegramService.cs - Product images
BusinessLogic/ImageService.cs
Other components
- Staff user
- Administrator
- SQL Server
- Telegram API
Connections 29
- Staff user → Login: signs in
- Administrator → Login: signs in
- Login → Authentication and users: authenticates
UI/LoginForm.cs - Authentication and users → User records: looks up users
BusinessLogic/AuthService.cs - Authentication and users → Inventory dashboard: opens dashboard
Program.cs - Staff user → Inventory dashboard: uses
README.md - Administrator → Inventory dashboard: uses
README.md - Inventory dashboard → Inventory operations: requests operations
UI/DashboardForm.cs - Inventory dashboard → Product management: opens editor
UI/DashboardForm.cs - Inventory dashboard → Category management: opens editor
UI/DashboardForm.cs - Inventory dashboard → User management: opens editor
UI/DashboardForm.cs - Inventory dashboard → Stock movements: opens transaction
UI/DashboardForm.cs - Inventory dashboard → Invoice preview: opens preview
UI/DashboardForm.cs - Product management → Inventory operations: manages products
UI/AddEditProductModalForm.cs - Category management → Inventory operations: manages categories
UI/AddEditCategoryModalForm.cs - User management → Authentication and users: manages accounts
UI/AddEditUserModalForm.cs - Stock movements → Inventory operations: records movement
UI/StockTransactionModalForm.cs - Product management → Product images: loads images
UI/AddEditProductModalForm.cs - Stock movements → Product images: loads images
UI/StockTransactionModalForm.cs - Inventory operations → Product records: manages products
BusinessLogic/InventoryService.cs - Inventory operations → Category records: manages categories
BusinessLogic/InventoryService.cs - Inventory operations → Stock transactions and reports: records and reports
BusinessLogic/InventoryService.cs - Inventory operations → Restock alerts: uses alert service
BusinessLogic/InventoryService.cs - Restock alerts → Telegram API: sends alerts
BusinessLogic/TelegramService.cs - User records → ADO.NET access: executes queries
DataAccess/UserRepository.cs - Product records → ADO.NET access: executes queries
DataAccess/ProductRepository.cs - Category records → ADO.NET access: executes queries
DataAccess/CategoryRepository.cs - Stock transactions and reports → ADO.NET access: executes queries
DataAccess/TransactionRepository.cs - ADO.NET access → SQL Server: queries
DataAccess/DatabaseHelper.cs