Store Management System is a desktop application for managing retail store operations with role-based access for administrators and cashiers. Features full CRUD operations for users and inventory, password hashing, and audit logging of all operations.
- Manage users — add, update, delete, and view all accounts
- Manage full product inventory with categories, pricing, and stock
- View audit logs of all operations
- Manage suppliers and purchases
- Browse and search product inventory
- Process sales and generate receipts
- View and filter products by category, price, and availability
- BCrypt password hashing for all user accounts
- Role-based access control — administrators and cashiers have separate panels
| Technology | Usage |
|---|---|
| C# / .NET | Core application language and framework |
| WinForms | Desktop GUI |
| MySQL | Relational database for users and inventory |
| Docker | MySQL containerization |
| BCrypt | Password hashing |
- .NET 7+ SDK
- Docker and Docker Compose
git clone https://github.com/pero-grubac/Store-Management-System.git
cd Store-Management-Systemdocker compose up -dMySQL will automatically initialize with the schema from Model/DDL.sql.
Copy Util/appsettings.example.json to Util/appsettings.json and update if needed:
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost; Port=3306; Database=prodavnica; User Id=root; Password=root"
}
}| Role | Username | Password |
|---|---|---|
| Administrator | admin | admin123 |
Store-Management-System/
├── Model/ # Database models and DDL.sql
├── Prodavnica/ # Main project
│ ├── Database/ # Repository pattern and DAO implementations
│ ├── Forms/ # WinForms UI screens
│ ├── Language/ # Localization files
│ ├── Resources/ # Images and assets
│ └── Util/ # DBUtil, appsettings.json
├── readme_assets/ # README images and GIF
├── docker-compose.yml
└── README.md