ShopSync

The problem
A supermarket system constantly adds, finds and removes items from carts, receipts and stock. For the Algorithms and Data Structures course, we built a C++ system for customers and administrators, choosing the structure that fit each operation.
Key decisions
- Used an AVL tree for the shopping cart, so it stays balanced as items are added and removed.
- Used a binary search tree for receipts, for fast search and insertion of entries.
- Used a hash table for restocking, where quick lookup by product matters most.
- Used a vector for the general inventory, and implemented every structure without external libraries.
The result
A working console application where customers manage carts and receipts, and administrators monitor and replenish low stock, with data persisted to text files.