Logo Lanfrica

steve-ongera/Friends-Supermarket-POS

Domain:

digital infrastructure

Record type:

software
Creator:
ste
Host:
A multi-tenant Point-of-Sale and Inventory Management SaaS for supermarkets in Kenya. Billing is pay-per-session: each cashier gets a session of 20 sales, and once exhausted, the supermarket pays KES 100 via M-Pesa STK Push to unlock the next session. Receipts include an auto-generated QR code, and the till supports barcode scanning for fast checko # Friends POS — Supermarket POS & Inventory SaaS **Friends POS** (`www.friendspos.com`) is a cloud-based Point-of-Sale and Inventory Management SaaS built for supermarkets and retail shops in Kenya. Billing is **pay-per-sales-quota** — each cashier gets a free daily sales allowance (e.g. 20 sales), then pays a small fee via M-Pesa STK Push to unlock a new session. This README covers: 1. Project Structure 2. Backend Setup 3. Frontend Setup 4. Connecting Hardware 5. Going Live on friendspos.com 6. Troubleshooting --- ## 1. Project Structure ``` friends-supermarket-pos/ │ ├── backend/ │ ├── manage.py │ ├── requirements.txt │ ├── .env │ ├── .gitignore │ │ │ ├── friends_pos/ # Django project (settings) │ │ ├── __init__.py │ │ ├── settings.py │ │ ├── urls.py # MAIN urls.py -> includes core.urls │ │ ├── wsgi.py │ │ └── asgi.py │ │ │ └── core/ # the one core application │ ├── __init__.py │ ├── apps.py │ ├── admin.py │ ├── models.py # Supermarket, User, Package, Subscription, │ │ # SalesSession, Payment, Category, Supplier, │ │ # Product, StockMovement, Sale, SaleItem │ ├── serializers.py │ ├── views.py │ ├── urls.py # app-level urls (/api/...) │ ├── permissions.py │ ├── signals.py │ ├── tests.py │ │ │ ├── management/ │ │ └── commands/ │ │ └── seed_data.py # generates ~6 months of demo data │ │ │ ├── services/ │ │ ├── __init__.py │ │ ├── mpesa.py # Daraja: access token + STK Push + callback │ │ ├── qrcode_service.py # receipt QR code generation (qrcode + Pillow) │ │ └── billing.py # sales quota / session lock-unlock logic │ │ │ └── migrations/ │ └── __init__.py │ ├── front …

Languages