AK Logo
Loading
profile

AK (Amaanullah Khan) 👋

Doc Name: Muhammad Zain

Ever since I wrote my first line of code, I've been fascinated by how a few keystrokes can turn an idea into something people can actually use. That curiosity turned into a passion and eventually into a career as a professional developer. In production, I ship stable, secure and scalable products with clean code and SEO best practices, focused on Full-Stack Development (PHP, Laravel, MySQL), Mobile Apps (Flutter, Firebase) while continuously learning React.js, Node.js and Python.

Download CV
Ticketing CRM – Jobs & Vendor Management Portal

Ticketing CRM – Jobs & Vendor Management Portal

Client For:

Internal Product / Enterprise Use

Services:

Ticketing CRMJob ManagementVendor ManagementSLA TrackingIn-Portal ChatApproval WorkflowPayment RequestsReal-Time NotificationsRole-Based AccessCustom Web Development
(Private/Internal Deployment)

Overview

This Ticketing CRM streamlines the full workflow of job creation → vendor search/assignment → visit tracking → approvals & payments, with separate Admin and User dashboards.

Admin adds jobs with store details and SLA time; Users review job details, find suitable vendors as per work scope, and align them. A built-in in-portal chat enables real-time discussions between user and admin on a job/vendor level.

Users can raise vendor visit requests (initial/final) and payment requests; Admin can approve/reject based on conversation history and artifacts. Extras include browser push notifications, activity logs, and role-based access.

Built with HTML, CSS, JavaScript, PHP, MySQL, AJAX, and jQuery for a responsive, fast, and reliable experience.

Challenges

This project presented several unique challenges that required innovative solutions and careful planning to overcome. Here's a detailed breakdown of the key challenges and how they were addressed.

Accurate SLA tracking across multiple job stages:

Challenge:

Jobs move through discovery, vendor alignment, visits, and payments—each with its own deadline/SLA. Missing a stage should update status and alerts automatically.

Solution:

Implemented an SLA engine in PHP/MySQL with timer fields and cron/async checks. Auto status changes, escalation flags, and priority labels trigger browser notifications and dashboard badges.

Matching the right vendor to each job’s scope:

Challenge:

Users needed a quick way to shortlist vendors by skills, region, availability, and past performance from job details.

Solution:

Built a vendor matching module with filterable lists, vendor profiles, and rating history. AJAX search + paginated results deliver fast shortlisting; alignment is logged to the job timeline.

Contextual communication without leaving the ticket:

Challenge:

Conversations had to be tied to a specific job and vendor so approvals could rely on the exact discussion history.

Solution:

Developed a threaded chat (job_id + vendor_id scoping) with attachments, read receipts, and timestamps. Messages are stored relationally for auditability and shown in an inline panel on the job view.

Structured requests with clear approve/reject trails:

Challenge:

Users submit visit requests (initial/final) and payment requests. Admin needs evidence and a clean approve/reject path tied to the chat and job.

Solution:

Created request forms with required artifacts (notes, images, docs), routed to Admin with one-click approve/reject, auto-notifications, and a tamper-proof history (who/when/why).

Live updates without heavy reloads:

Challenge:

Frequent polling could slow the app; users still needed real-time feel for chats, SLAs, and approvals.

Solution:

Used AJAX polling with smart intervals and lightweight JSON endpoints; selective partial refresh for chat panels, counters, and notifications. Optimized queries and added indexed tables for speed.

Results/Conclusion:

Faster turnaround: SLA engine + notifications reduced missed deadlines and sped up approvals.

Better vendor fit: Matching filters improved first-time-right vendor assignments.

Clear audit trail: Contextual chat and request histories simplified dispute resolution.

Higher productivity: Separate dashboards and role-based access cut navigation time and manual follow-ups.

Scalable foundation: Modular PHP/MySQL architecture supports adding new request types, reports, and integrations.

banner-shape-1
banner-shape-1
object-3d-1
object-3d-2