How johnaljennegalos/django-pos-scanner works
This is a Django multi-branch retail POS and management system. The main workflow is an employee scanning products, building a cart, and submitting a cash or installment checkout; the server records the sale and updates branch stock. Separate workflows cover credit schedules, warranty claims, staff access, management reporting/exports, and audit logging. The README documents these product areas; sampled source confirms POS browser requests, checkout persistence, audit signal setup, and reminder email behavior, but not every view or subsystem implementation.
Main entry points: views.py Application Views · settings.py Application Database · tasks.py Due Reminders · posTerminal.js POS Interaction
Components 22
Point of Sale
- POS Browser
accounts/templates/accounts/pos_terminal.html - POS Interaction
static/js/posTerminal.js - Cart and Checkout UI
static/js/posUI.js
Retail Operations
- Product and Branch Stock
accounts/models.py - Orders and Invoices
accounts/models.py - Installment Plans
accounts/models.py - Warranty and Defects
accounts/views.py - Employee and Supplier Admin
accounts/admin.py
Management
- Reports and CSV
accounts/views.py - Due Reminders
accounts/tasks.py
Access and Audit
- Audit Middleware
accounts/middleware.py - Audit Signals
accounts/signals.py
Django Runtime
- URL Routing
accounts/urls.py - Application Views
accounts/views.py - Domain Models
accounts/models.py - Application Database
pos/settings.py - Signal Registration
accounts/apps.py - Django Templates
accounts/templates - Django Configuration
pos/settings.py
Other components
- Employee
- Task Scheduler
- Email Service
Connections 25
- Employee → POS Browser: uses
- POS Browser → POS Interaction: loads interface
- POS Interaction → Application Views: requests product scan
- POS Interaction → Cart and Checkout UI: updates cart
- Cart and Checkout UI → Application Views: posts checkout
- Application Views → URL Routing: dispatched by
- URL Routing → Application Views: routes requests
- Application Views → Domain Models: queries and saves
- Domain Models → Application Database: persists records
- Application Views → Django Templates: renders pages
- Application Views → Product and Branch Stock: reads and updates stock
- Application Views → Orders and Invoices: creates sales
- Application Views → Installment Plans: creates plans
- Application Views → Warranty and Defects: processes claims
- Employee and Supplier Admin → Application Database: administers records
- Application Views → Reports and CSV: builds reports and exports
- Audit Middleware → Application Views: captures request user
- Signal Registration → Audit Signals: registers receivers
- Audit Signals → Application Database: records model changes
- Task Scheduler → Due Reminders: runs scheduled task
- Due Reminders → Application Database: reads upcoming plans
- Due Reminders → Email Service: sends reminders
- Due Reminders → Django Templates: renders reminder
- Django Configuration → Application Database: configures connection
- Django Configuration → Email Service: configures email