All projects
CompletedWeb app · 2025
MERK Establishments
A Django system for recording sales, managing products and stock, and controlling staff access, with a sales overview dashboard.

Overview
A management system for a small business that records stock and sales and controls which staff can access them. The sales overview shows total sales value, today's activity and stock levels above the full list of sales.
The problem
Paper or spreadsheet records make it hard to keep stock and sales accurate, or to control who can change them. MERK keeps both in one database behind a login.
My contribution
- Sole developer: data models, views, templates, authentication and deployment configuration.
Key features
- Sign-up and login
- Password reset with a 6-digit emailed code that expires after 5 minutes, with limits on requests and wrong attempts
- Sales overview with total value, today's sales, product count and units in stock
- Record, edit and delete sales paid by cash, Mpesa or bank
- Product catalogue with cost, price and stock, marked when out of stock
- Staff-only user management; everyone can edit their own profile
Implementation highlights
- PostgreSQL configured with dj-database-url
- WhiteNoise compressed static files and Gunicorn for production
- 23 automated tests run in GitHub Actions
- Secrets come from environment variables; the app won't start in production without a SECRET_KEY
Screenshots
Captured from a local run with fictional demo data.
- (open full-size image in a new tab)

Sales overview - (open full-size image in a new tab)

Sign in - (open full-size image in a new tab)

Products - (open full-size image in a new tab)

Record a sale - (open full-size image in a new tab)

User management (staff only)