Nibbs
Back to projects

Greenfield Local Hub

Full Stack2026-03-09 - 2026-05-06
Visit Live Site
Greenfield Local Hub

About the Project

Greenfield Local Hub is a full-stack multi-vendor marketplace built with Python Django, designed to connect independent local sellers with customers through a shared digital platform. The application supports two distinct user roles with separate permission scopes: customers who browse, purchase, and manage their accounts, and sellers who operate one or more storefronts, manage product listings, and fulfil orders. Each role gets a tailored interface, with sellers having access to a store management dashboard and customers to a personalised shopping experience.

The data model is built around a multi-store architecture where each seller can create and manage multiple independent stores, each with their own product catalogue, order pipeline, and promotional tools. Sellers can create percentage-based discount coupons scoped to their individual stores, with the option to restrict coupon eligibility to customers who have reached a specific loyalty tier, adding a layer of targeted promotion logic to the system.

The GLH Loyalty Programme is implemented as an automatic enrolment system at the point of customer registration. Points accrue at a rate of one per pound spent and are redeemable at checkout against the order total. The programme uses a three-tier structure (Bronze, Silver, and Gold) based on cumulative points, which feeds directly into coupon eligibility. This ties the purchasing, rewards, and promotional systems together into a single coherent flow rather than treating them as isolated features.

The cart and checkout system handles multi-store orders within a single session, with coupon validation logic that checks both the discount code and the customer's current loyalty tier before applying any reduction. Order management is handled per-store, allowing sellers to track and update statuses independently while customers see a consolidated order history across all their purchases.

The project uses SQLite for local development with Django's ORM handling all data access, Pillow for processing uploaded product and profile images, and Bootstrap 5 for the frontend. It includes custom 404 and 500 error pages and a database seed script that populates 10 sample stores and 50 products via the Django shell for rapid local setup.