Skip to content

Den1s-coder/SuperMarketDesctopApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SuperMarket Desktop App

Project Description

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.

Features

Main Capabilities:

  • 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

Payment Types:

  • Retail Payments:
    • Cash payment
    • Credit card payment
    • Courier delivery
  • Bulk Payments:
    • Bulk cash payment
    • Bulk credit card payment
    • Bulk courier delivery

Technical Details

Technologies:

  • .NET 8.0 - main platform
  • Windows Forms - graphical interface
  • C# - programming language

Project Structure:

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

Installation and Setup

Requirements:

  • Windows 10 or newer
  • .NET 8.0 Runtime

Running:

  1. Clone the repository or download the project
  2. Open the project in Visual Studio or another .NET-compatible IDE
  3. Restore dependencies: dotnet restore
  4. Build the project: dotnet build
  5. Run: dotnet run

Usage

Initial Setup:

  1. When starting the application, a supermarket "Class" is created with address "Oleksiivka"
  2. Products are automatically added: banana, bread, Fanta, milk, ice cream, Coca-Cola, Pepsi-Cola, cheese, pineapple, water
  3. A cash register with ID 1 is created

Main Operations:

  1. Opening Cash Register: select a cash register from the list and click "Open Cash Register"
  2. Adding Products: use the add products form
  3. Conducting Sales: add products to the basket and choose payment method
  4. Viewing Transactions: use the transactions view form
  5. Saving Data: export supermarket data to file

Implementation Features

Design Patterns:

  • Singleton - for creating unique instances
  • Factory Method - for object creation
  • Observer - for event system

Event System:

  • OutOfStockEvent - triggered when product runs out of stock
  • CustomerServedEvent - triggered when serving a customer

Validation:

  • Empty field validation
  • Product and cash register uniqueness validation
  • Warehouse quantity validation

Author

This project is developed as an educational application to demonstrate work with Windows Forms, event system, and data management in C#.

License

This project is created for educational purposes.

About

supermarket windowns forms application for laboratory work from the discipline "C# and the .NET platform" the application uses code from https://github.com/Den1s-coder/SupermarketConsoleApp

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages