Skip to content

ianusha08/helpdesk-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 

Repository files navigation

🎧 Helpdesk UI

A modern, full-featured support ticket management interface inspired by tools like Linear and Zendesk. Built with React, TypeScript, and Tailwind CSS.


✨ Features

  • Ticket Management — Create, update, delete, and prioritize tickets with a fluid 3-panel layout.
  • Real-time Status Updates — Change ticket status and priority with instant UI feedback using React Query mutations.
  • Smart Filtering — Filter tickets by view (My Tickets, High Priority, Unassigned, Past Due) and search by title or ID.
  • Reply Composer — Public replies and private comments with a rich toolbar UI.
  • Analytics Dashboard — Ticket volume trends, status/priority breakdown, resolution time distribution, and agent performance visualizations using Recharts.
  • Ticket Properties Panel — Manage assignee, reporter, project, type, due date, tags, and linked tickets.
  • Delete with Confirmation — AlertDialog-guarded destructive actions.

🛠 Tech Stack

Layer Technology
Framework React 18 + TypeScript
Build Tool Vite
Styling Tailwind CSS
Components shadcn/ui (Radix UI)
State Management TanStack React Query v5
Charts Recharts
Routing React Router v6
Backend Express.js
Icons Lucide React

🚀 Getting Started

Frontend

cd helpdesk-ui
npm install
npm run dev

Backend (Optional)

cd helpdesk-ui/server
npm install
node index.js

Create a .env file inside the project root:

VITE_API_URL=http://localhost:3001/api/tickets

📁 Project Structure

src/
├── components/
│   ├── helpdesk/      # Domain components
│   └── ui/            # Reusable UI components
│
├── data/
│   └── mockData.ts    # Mock ticket & analytics data
│
├── lib/
│   └── api.ts         # API client
│
└── pages/
    ├── Index.tsx      # Main tickets view
    └── Analytics.tsx  # Analytics dashboard

📌 About

Built to explore React architecture patterns, component composition, and data-driven UI design.

This project demonstrates:

  • React Query state management
  • Component composition patterns
  • Type-safe development with TypeScript
  • Scalable UI architecture
  • Data visualization using Recharts
  • Consistent design systems using Tailwind CSS

💡 Why I Built This

This project was built to understand how modern support desk platforms manage tickets, communication workflows, and analytics at scale.

The primary goals were:

  • Practice React architecture and component composition
  • Improve TypeScript proficiency
  • Build reusable UI systems
  • Work with complex state management
  • Create data-rich dashboards
  • Simulate real-world SaaS product interfaces

Inspired by products such as:

  • Linear
  • Zendesk
  • Jira Service Management

🚧 Future Improvements

  • User Authentication & Authorization
  • Role-Based Access Control
  • Ticket Assignment Automation
  • Email Notifications
  • File Attachments
  • Dark / Light Theme Toggle
  • Database Integration
  • Real-time Updates with WebSockets
  • Team Management Features
  • Activity Logs & Audit Trail

👩‍💻 Author

Anusha

  • BTech CSE (AI & ML)
  • Full Stack Developer
  • Exploring AI, Full-Stack Development, and Product Engineering

GitHub: https://github.com/ianusha08


📄 License

This project is available under the MIT License.

About

Modern helpdesk ticket management interface built with React, TypeScript, Tailwind CSS, React Query, and Recharts.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors