← Back to Projects

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.

DjangoPythonJavaScriptSQLREST APIAuthenticationDeployment
CLICK TO ENLARGE
01

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.

02

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.

03

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.

ARCH

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

04

Key Features

VIEW

FEATURE

Ticket Management

Create, edit, search, and manage jewelry service tickets throughout their lifecycle.

VIEW

FEATURE

Customer Management

Maintain customer information and associate customers with their corresponding tickets.

VIEW

FEATURE

Workflow Status

Track jobs through different workflow states such as open, ready for pickup, and completed.

VIEW

FEATURE

Calendar View

Visualize scheduled jobs and deadlines through a calendar-based workflow.

VIEW

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.

05

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.

06

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.

07

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

08

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.