SuperMarket Desktop App is a desktop application for supermarket management, developed in C# using Windows Forms. The application allows managing cash registers, products, conducting sales, and maintaining transaction records.
- Supermarket Management: creating and configuring a supermarket with name, address, and EDRPOU code
- Cash Register Management: adding, removing, and managing cash registers
- Product Management: adding products with prices and warehouse quantities
- Sales System:
- Retail sales (cash, credit card, courier delivery)
- Bulk sales with different payment methods
- Receipt System: automatic receipt generation and transaction storage
- Data Save/Load: export and import supermarket data
- Event System: tracking out-of-stock products
- Retail Payments:
- Cash payment
- Credit card payment
- Courier delivery
- Bulk Payments:
- Bulk cash payment
- Bulk credit card payment
- Bulk courier delivery
- .NET 8.0 - main platform
- Windows Forms - graphical interface
- C# - programming language
SuperMarketDesctopApp/
├── Forms/ # Interface forms
│ ├── SuperMarketForm.cs # Main supermarket form
│ ├── MainForm.cs # Main cash register form
│ ├── BasketForm.cs # Shopping basket form
│ ├── AddProductForm.cs # Add products form
│ ├── AddCashRegisterForm.cs # Add cash register form
│ └── PaymentsForms/ # Various payment forms
├── Model/ # Data models
│ ├── Classes/ # Main classes
│ │ ├── SuperMarket.cs # Supermarket class
│ │ ├── CashRegister.cs # Cash register class
│ │ ├── Product.cs # Product class
│ │ └── Check.cs # Receipt class
│ ├── Event/ # Event system
│ └── Payments/ # Payment system
└── Program.cs # Application entry point
- Windows 10 or newer
- .NET 8.0 Runtime
- Clone the repository or download the project
- Open the project in Visual Studio or another .NET-compatible IDE
- Restore dependencies:
dotnet restore - Build the project:
dotnet build - Run:
dotnet run
- When starting the application, a supermarket "Class" is created with address "Oleksiivka"
- Products are automatically added: banana, bread, Fanta, milk, ice cream, Coca-Cola, Pepsi-Cola, cheese, pineapple, water
- A cash register with ID 1 is created
- Opening Cash Register: select a cash register from the list and click "Open Cash Register"
- Adding Products: use the add products form
- Conducting Sales: add products to the basket and choose payment method
- Viewing Transactions: use the transactions view form
- Saving Data: export supermarket data to file
- Singleton - for creating unique instances
- Factory Method - for object creation
- Observer - for event system
OutOfStockEvent- triggered when product runs out of stockCustomerServedEvent- triggered when serving a customer
- Empty field validation
- Product and cash register uniqueness validation
- Warehouse quantity validation
This project is developed as an educational application to demonstrate work with Windows Forms, event system, and data management in C#.
This project is created for educational purposes.