
Shop Smart. Bargain Better.
Smart Bargain is a full-stack grocery marketplace platform that enables buyers and sellers to negotiate product prices, manage inventory, process orders, exchange messages, and track negotiations in real time through a secure role-based web application.
Traditional online grocery marketplaces use fixed pricing, removing the human element of negotiation that both buyers and sellers value. Small grocery sellers lacked an affordable platform to list products, manage inventory, and negotiate deals without steep marketplace fees.
Smart Bargain reintroduces negotiation into grocery e-commerce. Buyers browse products and categories, submit offers, sellers counter, and both track the negotiation thread in real time. A secure role-based system separates buyer and seller capabilities while a clean dashboard centralises listings, inventory, orders and messages.
Built on Django’s MVT architecture with a SQLite datastore. The Factory Pattern generates different product/listing types cleanly, while a Singleton manages shared configuration and the negotiation session manager. Views are protected with role-based access control and the app is deployed on PythonAnywhere.
Designing a negotiation state machine that stayed consistent across concurrent offers, and enforcing strict role boundaries so buyers and sellers only ever saw the right data and actions.
Applying design patterns (Factory & Singleton) deliberately kept the codebase extensible and testable. I learned how much clean domain modelling pays off when features stack on top of each other.