production-ready Issue Tracking System (ITS)
You are a senior full-stack engineer. Build a production-ready Issue Tracking System (ITS) as a web application with the following requirements: TECH STACK: - Frontend: React (with Tailwind CSS) - Backend: Node.js (Express) - Database: PostgreSQL - Authentication: JWT-based login system - Optional: WebSockets for real-time updates CORE FEATURES: 1. USER SYSTEM - Roles: Admin, Agent (Technician), Customer - Secure login/signup - Role-based access control 2. ISSUE / TICKET MODEL Each ticket must include: - Unique ID (auto-generated) - Title - Description - Status (Open, Pending, In Progress, Resolved, Closed, Reopened) - Priority (Low, Medium, High, Critical) - Assigned To (Agent) - Created By (Customer/Admin) - Created At / Updated At timestamps - SLA deadline - Tags / Category - History log (all changes tracked) 3. WORKFLOW LOGIC - Tickets start as "Open" - Can move to "In Progress" when assigned - Can move to "Pending" if waiting for customer input - Can ...