A complete, Python-only business management system for JAD PRINTING SHOP, a small single-owner printing business in the Philippines operating for 14 years.
| Module | Description |
|---|---|
| 📊 Dashboard | KPI metrics, pending jobs, low stock alerts, order status chart |
| 📦 Orders | Create/view/update orders with status workflow, payment tracking, file uploads |
| 📝 Quotations | Manual quote builder with PDF export, design premium, bulk discount, rush flag |
| 📦 Inventory | Real-time stock tracking, stock in/out, auto-deduction, low stock alerts |
| 👥 Customers | CRM with order history, inline editing, customer portal simulation |
| 🏭 Production | Visual production board with stage progression (Received → Completed) |
| 📈 Reports | Sales analytics, inventory levels, turnaround time, receivables, CSV/Excel export |
| 🔔 Notifications | Email (SMTP) and SMS (placeholder) with pre-built templates |
- UI: Streamlit
- Database: SQLite (single file:
jad_printing.db) - ORM: SQLAlchemy
- Charts: Plotly
- Reports: Pandas + openpyxl (Excel export)
- PDF: ReportLab
- Email: smtplib (built-in Python)
Ensure you have Python 3.9+ installed.
python -m pip install -r requirements.txtpython -m streamlit run app.pyThe app will open at http://localhost:8501
JAD PRINTING/
├── .streamlit/
│ └── config.toml # Streamlit theme (dark mode + orange accent)
├── views/
│ ├── __init__.py # View exports
│ ├── dashboard_orders.py # Dashboard & Orders modules
│ ├── quotations_inventory.py # Quotations & Inventory modules
│ ├── customers_production_notifications.py # CRM, Production, Notifications
│ └── reports.py # Reports & Analytics
├── uploads/
│ ├── designs/ # Customer design files
│ └── proofs/ # Design proofs
├── app.py # Main Streamlit entry point
├── models.py # SQLAlchemy ORM models
├── database.py # DB connection, CRUD helpers, seed data
├── utils.py # PDF generation, notifications, helpers
├── requirements.txt # Python dependencies
├── jad_printing.db # SQLite database (auto-created)
└── README.md
The system comes pre-populated with:
- 14 Products/Services: T-shirt Printing, ID Lanyards, PVC ID Cards, Business Cards, Invitations, Souvenirs & Giveaways, Photo Printing, Stickers, Flyers & Brochures, Tarpaulins, Graphic Design & Layout, Image Restoration, Lamination, Document Printing & Scanning
- 6 Printing Methods: Screen Printing, Sublimation, Heat Press, Embroidery, Digital Printing, Others
- 26 Inventory Items: T-shirt blanks (by size/color), tarpaulin rolls, sublimation inks, Photo Paper RC Satin 250gsm (QUAFF), PVC cards, lanyards, lamination film, sticker paper, and more
Prices are manually entered — the system does NOT auto-calculate prices. This gives the owner full control over:
- Per-item pricing based on complexity
- Design premium charges (optional toggle)
- Bulk discounts (manual amount)
- Rush job flagging (with optional fee)
To enable email notifications:
- Go to 🔔 Notifications → ⚙️ Settings
- Enter your SMTP details (Gmail example):
- Host:
smtp.gmail.com - Port:
587 - Email: your Gmail address
- Password: your App Password
- Host:
SMS is a placeholder. To enable:
- Sign up with a provider (Semaphore, itexmo, Globe/Smart API)
- Update the
send_sms()function inutils.pywith your API credentials
Received → Design Proof → Production → Finishing/QC → Ready for Pickup → Completed
Orders can also be marked as Cancelled at any stage.
JAD PRINTING SHOP — Professional Printing Services Since 2012 🇵🇭