Skip to content

πŸ›’ A POS (Point of Sale) module for barcode control, product movement tracking, and stock correction in a retail store.

License

Notifications You must be signed in to change notification settings

toptuk49/cash-register

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


Cash Register

πŸ›’ A POS (Point of Sale) module for barcode control, product movement tracking, and stock correction in a retail store.

Explore the docs Β»

Usage Β· Report Bug Β· Request Feature

πŸ“– Table of Contents
  1. πŸ› About The Project
  2. ✨ Features
  3. πŸ›  Built With
  4. πŸš€ Getting Started
  5. πŸ’‘ Usage
  6. πŸ›£ Roadmap
  7. 🀝 Contributing
  8. πŸ“„ License
  9. βœ‰οΈ Contact

πŸ› About The Project

This repository hosts β€œCash Register”, a POS (Point of Sale) module designed for retail stores.
The project is part of a larger automated system for product accounting and warehouse management.

The system enables:

  • scanning and validating product barcodes,
  • registering sales, returns, and write-offs,
  • real-time synchronization with warehouse stock,
  • reporting and data export to external accounting systems (e.g., 1C).

It is built to minimize cashier errors, speed up operations, and ensure accurate inventory tracking.

(back to top)

✨ Features

  • πŸ“¦ Product Management

    • To scan and validate barcodes via barcode scanner
    • To track stock changes in real-time
    • To synchronize with warehouse data
  • πŸ’΅ Sales Operations

    • Sales, returns, and write-offs
    • Automatic stock deduction per transaction
    • Receipt printing and storage
  • πŸ“Š Reporting

    • Daily / weekly / monthly movement reports
    • Return and write-off reports
    • Discrepancy reports between POS and warehouse
  • πŸ”„ Integration

    • Export data to external systems (1C or other accounting software)
    • REST API support for future integrations
  • πŸ›‘ Reliability

    • Data validation for barcodes
    • Auto-backup of database (at least once a day)
    • Fail-safe recovery after power/network failures
  • πŸ–₯ User Interface

    • Friendly and simple interface for cashiers
    • Admin panel for stock correction and inventory checks

(back to top)

πŸ›  Built With

  • C# + .NET 8.0.401 β€” core development platform
  • Entity Framework Core β€” planned for database interaction
  • SQL Server / PostgreSQL β€” planned database options
  • Windows 10/11, Linux (Ubuntu, Debian) β€” supported platforms
  • mise β€” developer workflow automation

(back to top)

πŸš€ Getting Started

Follow these steps to set up the project locally for development or testing.

πŸ“‹ Prerequisites

You need:

  • mise (configured for this repo)
  • Git
  • SQL database (SQL Server or PostgreSQL)
  • Barcode scanner (for real hardware testing)

πŸ’Ύ Installation

  1. Clone the repository:
git clone https://github.com/toptuk49/cash-register.git
cd cash-register
  1. Install tools from mise.toml:
mise install
  1. Run the app (task run from mise.toml):
mise run run
  1. For hot reload during development:
mise run watch-run
  1. Other useful tasks:
mise run build     # build solution
mise run test      # run tests
mise run format    # format all files

(back to top)

πŸ’‘ Usage

  • Cashier workflow: Scan product β†’ Check receipt details β†’ Confirm sale β†’ Print receipt

  • Administrator workflow: Perform stock corrections, generate reports, and run inventory checks

Reports can be exported and integrated into 1C or other accounting systems.

(back to top)

πŸ›£ Roadmap

  • Implement full reporting module (sales, returns, discrepancies)

  • Add inventory management module

  • Integrate with online fiscal registers

  • REST API for third-party integration

  • Docker container support for deployment

See the open issues for more.

(back to top)

🀝 Contributing

Use conventional commits (feat:, fix:, docs:, etc.)

  1. Fork the Project

  2. Create your Feature Branch (git checkout -b feature/)

  3. Commit your Changes (git commit -m 'feat: add ')

  4. Push to the Branch (git push origin feature/)

  5. Open a Pull Request

(back to top)

πŸ“„ License

Distributed under the GNU General Public License. See LICENSE for details.

(back to top)

βœ‰οΈ Contact

Anton Kuznetsov - GitHub

Artem Mikhayelyan - GitHub

Timofey Lozhkin - GitHub

Artyom Timoshkov - GitHub

Project Link: https://github.com/toptuk49/cash-register

(back to top)

About

πŸ›’ A POS (Point of Sale) module for barcode control, product movement tracking, and stock correction in a retail store.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages