source: README.md

main
Last change on this file was dfe03b8, checked in by Ceyda <ceyda.huseini@โ€ฆ>, 27 hours ago

Initialize StockMaster project

  • Property mode set to 100644
File size: 3.9 KB
Lineย 
1# ๐Ÿ“ฆ StockMaster
2
3StockMaster is a web-based inventory and sales management platform that enables businesses to manage their stock and sales processes through a single system. The system tracks product inflows and outflows in real time, records sales transactions, and automatically updates stock quantities. Users can manage suppliers, add products, and receive low-stock notifications.
4
5---
6
7## ๐Ÿš€ Features
8
9- ๐Ÿ“Š **Real-time Inventory Tracking** - Monitor stock levels across multiple warehouses
10- ๐Ÿ›’ **Sales Management** โ€” Record and manage sales transactions
11- ๐Ÿญ **Purchase Orders** โ€” Create and track purchase orders from suppliers
12- ๐Ÿฌ **Multi-Warehouse Support** โ€” Manage stock across different warehouse locations
13- ๐Ÿ‘ฅ **User & Role Management** โ€” Admin, Inventory Manager, Sales Personnel, Warehouse Staff roles
14- ๐Ÿค **Supplier Management** โ€” Add and manage supplier information
15- ๐Ÿ‘ค **Customer Management** โ€” Track customer data and purchase history
16- ๐Ÿ—‚๏ธ **Category Management** โ€” Organize products into categories
17- โš ๏ธ **Low Stock Alerts** โ€” Automatic reorder level notifications
18
19---
20
21## ๐Ÿ› ๏ธ Tech Stack
22
23| Layer | Technology |
24|---|---|
25| Framework | ASP.NET Core MVC 8.0 |
26| Language | C# |
27| Database | PostgreSQL |
28| ORM | Entity Framework Core |
29| Frontend | HTML, CSS, Bootstrap |
30| IDE | Visual Studio 2022 |
31
32---
33
34## ๐Ÿ—‚๏ธ Project Structure
35
36```
37StockMaster/
38โ”œโ”€โ”€ Controllers/ # MVC Controllers
39โ”œโ”€โ”€ Data/ # DbContext and database configuration
40โ”œโ”€โ”€ Migrations/ # EF Core migrations
41โ”œโ”€โ”€ Models/ # Entity models
42โ”œโ”€โ”€ Services/ # Business logic layer
43โ”œโ”€โ”€ ViewModels/ # View-specific models
44โ”œโ”€โ”€ Views/ # Razor views
45โ”œโ”€โ”€ wwwroot/ # Static files (CSS, JS, images)
46โ”œโ”€โ”€ appsettings.json # App configuration
47โ””โ”€โ”€ Program.cs # Entry point
48```
49
50---
51
52## ๐Ÿ—„๏ธ Database Schema
53
54The database consists of the following tables:
55
56- **users** โ€” System users with roles
57- **customer** โ€” Customer records
58- **category** โ€” Product categories
59- **supplier** โ€” Supplier information
60- **product** โ€” Product catalog (linked to category & supplier)
61- **warehouse** โ€” Warehouse locations
62- **warehouse_stock** โ€” Stock levels per product per warehouse
63- **sale** โ€” Sales transactions
64- **sale_item** โ€” Individual items in a sale
65- **purchase_order** โ€” Orders placed to suppliers
66- **purchase_order_item** โ€” Individual items in a purchase order
67
68---
69
70## โš™๏ธ Getting Started
71
72### Prerequisites
73
74- [.NET 8.0 SDK](https://dotnet.microsoft.com/download)
75- [PostgreSQL](https://www.postgresql.org/download/)
76- [Visual Studio 2022](https://visualstudio.microsoft.com/)
77
78### Setup
79
801. **Clone the repository**
81 ```bash
82 git clone https://github.com/ceydahuseini/StockMaster.git
83 cd StockMaster
84 ```
85
862. **Configure the database connection**
87
88 Update `appsettings.json` with your PostgreSQL connection string:
89 ```json
90 "ConnectionStrings": {
91 "DefaultConnection": "Host=localhost;Database=stock_management;Username=your_user;Password=your_password"
92 }
93 ```
94
953. **Apply migrations**
96 ```bash
97 dotnet ef database update
98 ```
99
1004. **Run the application**
101 ```bash
102 dotnet run
103 ```
104 Or press **F5** in Visual Studio.
105
106---
107
108## ๐Ÿ‘ค Default Users
109
110The system includes the following roles:
111
112| Role |
113|---|
114| Admin |
115| Inventory Manager |
116| Sales Personnel |
117| Warehouse Staff |
118
119## ๐Ÿ—„๏ธ Database Scripts
120
121- ๐Ÿ“„ [DDL - Database Schema](./DDL.sql)
122- ๐Ÿ“„ [DML - Sample Data](./DML.sql)
123
124### ๐Ÿงช Test Account
125
126| Username | Password | Role |
127|---|---|---|
128| test_admin | admin123 | Admin |
129
130> โš ๏ธ **Note:** Default passwords are for development only. Change them before deploying to production.
131
132---
133
134## ๐Ÿ“„ License
135
136This project was developed for educational purposes.
137
138---
139
140## ๐Ÿ‘ฉโ€๐Ÿ’ป Developer
141
142**Ceyda Huseini** โ€” [GitHub](https://github.com/ceydahuseini)
Note: See TracBrowser for help on using the repository browser.