How noyasuo/procurement-management-system works
This is a Django/DRF backend for a mobile procurement system, with a web admin surface. The principal workflow is account authentication, supplier product/catalogue management, order submission, role-based review and approval, and payment or refund records. The model layer stores accounts, products, orders, payments, and refunds. The README also describes offline operation, budget monitoring, and analytics, but the sampled implementation does not establish those subsystems; they are therefore not represented as implemented components.
Main entry points: urls.py API Routing · models.py Domain Models · serializer.py API Serializers · auth.py Accounts and Auth
Components 15
API and Access
- API Routing
pms_api/urls.py - Accounts and Auth
pms_api/views/auth.py - API Serializers
pms_api/serializer.py - Project Routes
config/urls.py
Supplier Catalogue
- Products and Categories
pms_api/views/product.py
Procurement Workflow
- Order Requests
pms_api/views/order.py - Supplier Orders
pms_api/views/order.py - Refund Requests
pms_api/views/order.py - Payment Records
pms_api/views/payment.py
Persistence and Admin
- Domain Models
core/models.py - SQLite Database
- Django Admin
core/admin.py - SMTP Email
Other components
- Mobile Client
- Web Admin User
Connections 25
- Mobile Client → API Routing: calls API
README.md - Web Admin User → Django Admin: manages records
README.md - Project Routes → API Routing: includes routes
config/urls.py - API Routing → Accounts and Auth: dispatches auth
pms_api/urls.py - API Routing → Products and Categories: dispatches catalogue
pms_api/urls.py - API Routing → Order Requests: dispatches orders
pms_api/urls.py - API Routing → Supplier Orders: dispatches supplier view
pms_api/urls.py - API Routing → Refund Requests: dispatches refunds
pms_api/urls.py - API Routing → Payment Records: dispatches payments
pms_api/urls.py - Accounts and Auth → API Serializers: validates accounts
pms_api/views/auth.py - Products and Categories → API Serializers: serializes catalogue
pms_api/views/product.py - Order Requests → API Serializers: serializes orders
pms_api/views/order.py - Refund Requests → API Serializers: serializes refunds
pms_api/views/order.py - Payment Records → API Serializers: serializes payments
pms_api/views/payment.py - Accounts and Auth → Domain Models: queries accounts
pms_api/views/auth.py - Products and Categories → Domain Models: queries products
pms_api/views/product.py - Order Requests → Domain Models: creates and updates
pms_api/views/order.py - Supplier Orders → Domain Models: filters orders
pms_api/views/order.py - Refund Requests → Domain Models: queries refunds
pms_api/views/order.py - Payment Records → Domain Models: queries payments
pms_api/views/payment.py - API Serializers → Domain Models: maps domain data
pms_api/serializer.py - Domain Models → SQLite Database: persists records
- Django Admin → Domain Models: administers records
core/admin.py - Accounts and Auth → SMTP Email: sends reset email
pms_api/views/auth.py - Order Requests → SMTP Email: sends order notices
pms_api/views/order.py