Cable/Network Service Management System (Python Prototype)
This project implements the Python (Frappe) Developer Assessment Task using pure Python in a Jupyter Notebook.
It demonstrates how the solution logic would translate into a real Frappe application with minimal changes.
Features
- Seller Login – simple authentication for admin/seller
- Package Management – predefined packages with name, price, and channels
- Customer Profile Creation – collect Name, Phone, Address, CNIC, and selected packages
- Payment Recording – input amount, payment mode, and status (Paid / Pending)
- Status Tracking – customer status auto-updates (Pending → Active after full payment)
⦁ Open cable_service_management_prototype.ipynb.
⦁ Run all cells sequentially.
⦁ Follow the console prompts to:
⦁ Login as seller (admin / 12345)
⦁ Create a customer profile and select packages
⦁ Record payment
⦁ View updated customer status
Project Structure:
⦁ cable_service_management_prototype.ipynb – main notebook with all features and demo flow
⦁ README.md – documentation, assumptions, and setup instructions
Mapping to Frappe DocTypes:
If implemented as a real Frappe app:
⦁ Package (Doctype) → Fields: Name, Price, Channels
⦁ CustomerProfile (Doctype) → Fields: Name, Phone, Address, CNIC, Linked Packages, Status (Pending/Active)
⦁ Payment (Doctype) → Fields: Customer Link, Amount, Mode, Status
⦁ Hook / Server Script → After Payment → Auto-update Customer Status to Active if Paid
Assumptions:
⦁ Data is stored in-memory (no database persistence).
⦁ Only one seller/admin login is required for demo purposes.
⦁ Status auto-updates to Active only if full payment is provided.
Time Breakdown:
⦁ Planning & Design: 1 hour
⦁ Coding Models & Logic: 1.5 hours
⦁ Testing & Debugging: 1 hour
⦁ Documentation & Polishing: 0.5 hour
Future Enhancements:
⦁ Implement as a full Frappe App with DocTypes and Desk pages
⦁ Add persistent database storage (MariaDB/MySQL)
⦁ Extend with multi-user roles and permissions
⦁ Add a basic web interface (instead of console prompts)
Author
Muhammad Khubaib Arif