FULL-STACK BUSINESS APPLICATION
Jewelry Store Workflow System
A full-stack workflow management system designed and deployed to digitize the day-to-day operations of a custom jewelry store, replacing paper-based processes with a centralized system for job tracking, customer management, scheduling, and workflow coordination.
Project Overview
The Jewelry Store Workflow System was developed to address the limitations of a paper-based workflow used to manage custom jewelry orders, repairs, and customer information.
The system centralizes customer records, job information, due dates, statuses, and workflow tracking into a single web application, making it easier for the store to manage daily operations and quickly access the information needed throughout the workflow.
Rather than building the system around generic requirements, I first observed how the store operated and translated its existing processes into a digital workflow tailored to the business's actual needs.
The system was successfully deployed to the store's production environment and is currently being used by the store for day-to-day workflow management.
Problem
Paper-Based Record Management
Paper records were difficult to store, organize, and retrieve, making historical information harder to maintain and access.
Fragmented Customer Information
Customer information was distributed across physical records, making it difficult to maintain a consistent history and track related jobs.
Inefficient Job Retrieval
Finding job and repair information required manually searching through physical records, increasing retrieval time and operational effort.
Limited Workflow Visibility
Job statuses were not centralized or visually accessible, making it difficult to quickly understand the current state of ongoing work.
Manual Scheduling & Repetitive Work
Due dates, work schedules, and repeated information entry relied heavily on manual processes, creating unnecessary administrative effort.
Limited Traceability
Without a centralized system linking customers, jewelry items, tickets, and job statuses, there was a greater risk of records becoming difficult to match or track accurately.
Solution
Replaced paper-based records with a centralized digital workflow management system.
Unified customer, jewelry, repair, and job information into a single searchable system.
Implemented ticket and customer search to make job retrieval faster and more reliable.
Added dashboard, status tracking, and calendar views for clearer workflow visibility and scheduling.
Automated repetitive tasks such as structured data entry and due-date calculation based on job type.
Deployed the system to a Linux server and successfully integrated it into the store's daily operations.
System Architecture
The system uses a Django-based web architecture where store staff interact with a browser-based interface. Requests are handled by Caddy for HTTPS and forwarded to the Django application through Waitress. Django manages authentication, business logic, workflow operations, and database access, while SQLite stores the application's operational data.
User
Store Staff
Web Interface
HTML · CSS · JavaScript
Caddy
HTTPS · Reverse Proxy
Waitress
WSGI · Application Server
Django
Python · Business Logic
SQLite
Relational Database
Key Features
FEATURE
Ticket Management
Create, edit, search, and manage jewelry service tickets throughout their lifecycle.
FEATURE
Customer Management
Maintain customer information and associate customers with their corresponding tickets.
FEATURE
Workflow Status
Track jobs through different workflow states such as open, ready for pickup, and completed.
FEATURE
Calendar View
Visualize scheduled jobs and deadlines through a calendar-based workflow.
FEATURE
Dashboard
Provide an overview of open jobs, jobs due this week, ready-for-pickup jobs, and overdue work.
Search & Filtering
Search tickets using ticket number, customer name, or phone number and filter by status or job type.
Technical Implementation
Django Backend
The backend is built with Django and provides structured models, authentication, forms, validation, and business logic for the workflow system.
Database Design
The system uses relational models for customers, tickets, job types, and statuses, keeping business data structured, connected, and searchable.
Workflow Management
Implemented ticket status tracking, due-date management, job scheduling, and dashboard logic to reflect the store's actual workflow and daily operations.
Search & Access Control
Implemented customer and ticket search, filtering by status and job type, phone number normalization, and role-based access control using Django Groups and Permissions.
Deployment & Production
Deployed the system to a Linux server and configured it for the store's production environment. The system has been successfully deployed and is currently used in daily store operations.
Challenges & Solutions
Challenge
Translating Business Processes into a System
Solution
The store relied on established paper-based workflows, so the challenge was to understand how staff actually handled customers, jobs, repairs, and deadlines before translating those processes into a practical digital workflow.
Challenge
Maintaining Consistent and Searchable Data
Solution
Customer and job information had previously been recorded across different paper records. The system needed structured relationships, validation, and search functionality to keep information consistent and easy to retrieve.
Challenge
Designing for Real-World Usability
Solution
The system had to fit into the store's existing workflow without adding unnecessary complexity. Interfaces and workflow logic were designed around the way staff already organized and processed jobs.
Challenge
Production Deployment and Adoption
Solution
Beyond development, the application needed to run reliably in the store's actual environment. The system was deployed on a Windows server using Waitress and Caddy with HTTPS and made available for day-to-day internal use.
Technology Stack
BACKEND
Python
Django
Django Forms
Django ORM
Authentication
API Endpoints
DATABASE
SQLite
SQL
Relational Database
FRONTEND
JavaScript
HTML
CSS
Responsive UI
DEPLOYMENT
Windows Server
Waitress
Caddy
HTTPS / TLS
Future Improvements
Diamond Inventory Management: Add a centralized diamond inventory module to manage available stones, including their specifications, status, and availability.
Diamond-to-Order Linking: Link diamonds from inventory directly to customer orders, allowing each custom jewelry order to track the specific stone selected for the customer.
Ring Model Management: Create a centralized catalog for ring models and designs, allowing staff to manage available models and associate them with customer customization requests.
Custom Design & Inventory Integration: Connect customer customization requests with ring models and available diamonds, giving staff a clearer view of the complete configuration of each order.
Sales & Revenue Dashboard: Add sales tracking and revenue summaries so the owner can monitor current turnover, completed orders, and overall business performance from a centralized dashboard.