Skip to content

khiroez/JAD-PRINTING

Repository files navigation

🖨️ JAD PRINTING SHOP — Management System

A complete, Python-only business management system for JAD PRINTING SHOP, a small single-owner printing business in the Philippines operating for 14 years.

✨ Features

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

🛠️ Tech Stack

  • 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)

🚀 Quick Start

1. Install Python

Ensure you have Python 3.9+ installed.

2. Install Dependencies

python -m pip install -r requirements.txt

3. Run the Application

python -m streamlit run app.py

The app will open at http://localhost:8501

📁 Project Structure

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

📋 Pre-loaded Data

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

💰 Pricing & Quoting

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)

📧 Email Setup

To enable email notifications:

  1. Go to 🔔 Notifications → ⚙️ Settings
  2. Enter your SMTP details (Gmail example):
    • Host: smtp.gmail.com
    • Port: 587
    • Email: your Gmail address
    • Password: your App Password

📱 SMS Integration

SMS is a placeholder. To enable:

  1. Sign up with a provider (Semaphore, itexmo, Globe/Smart API)
  2. Update the send_sms() function in utils.py with your API credentials

🔄 Order Status Workflow

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 🇵🇭

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages