← Back to portfolio
Completed2024 – 2025

IT Support Pro – Enterprise Help Desk & Asset Management System

A secure enterprise help desk solution for managing IT assets, tracking incidents, assigning technicians, and streamlining support operations.

Role: Full-Stack Developer

Client: Academic / Personal Project

IT Support Pro – Enterprise Help Desk & Asset Management System

Problem

Many organizations still rely on spreadsheets, emails, or disconnected tools to manage IT assets and support requests. This leads to lost tickets, inconsistent issue tracking, slow response times, limited visibility into technician workloads, and poor accountability throughout the support process.

Solution

IT Support Pro centralizes IT operations into a secure web application where administrators manage equipment, technicians, users, faults, and support requests from a single dashboard. Employees can submit incidents linked to specific assets, monitor ticket progress, and receive updates throughout the resolution process. Technicians access assigned tasks through dedicated dashboards while administrators oversee the entire workflow. A robust JWT authentication system combined with role-based authorization ensures every user only accesses the functionality appropriate to their responsibilities.

Tech Stack

Angular 16TypeScriptAngular MaterialSpring Boot 3.3.2Java 17Spring SecuritySpring Data JPAHibernatePostgreSQLJWT (jjwt 0.12.3)MapStructLombokMavenDockerREST APIs

Architecture

  • Angular Single-Page Application
  • Spring Boot REST API
  • PostgreSQL Database
  • JWT Stateless Authentication
  • Role-Based Access Control (RBAC)
  • Single-Table Inheritance User Model
  • Layered Service Architecture
  • Lazy-Loaded Angular Modules
  • HTTP Interceptor Token Management
  • MapStruct Entity-DTO Mapping
  • Docker Containerization

Features

JWT authentication with access & refresh tokens

Role-based access control (Admin, User, Technician)

Enterprise admin dashboard

User ticket submission and tracking

Technician task management

Equipment inventory management

Equipment CRUD with image upload

Fault reporting and categorization

Complete ticket lifecycle management

Ticket status tracking (Created, Assigned, In Progress, Completed, Closed, Cancelled)

Technician assignment workflow

User management (Admin)

Technician management (Admin)

Equipment image upload via REST API

Secure route protection with AuthGuard

Automatic JWT injection via HTTP Interceptor

BCrypt password hashing

Responsive Angular Material interface

Lazy-loaded Angular feature modules

Dynamic role-based navigation

RESTful API architecture

Docker-ready backend deployment

About this project

IT Support Pro is a full-stack enterprise help desk application developed to modernize IT support operations. The system centralizes equipment management, fault reporting, technician assignments, and ticket tracking into a single secure platform, replacing fragmented workflows built around spreadsheets, emails, and manual processes.

The backend is built with Spring Boot 3.3.2 and Java 17 using Spring Security, Spring Data JPA, Hibernate, and PostgreSQL. Authentication is implemented using JWT access and refresh tokens, while role-based authorization ensures administrators, technicians, and employees only access the features relevant to their responsibilities. The REST API follows a layered architecture with DTO mapping handled through MapStruct for clean separation between persistence and presentation layers.

The frontend is developed with Angular 16 and Angular Material, providing a responsive single-page application with lazy-loaded modules for Equipment, Faults, Tickets, Users, and Technicians. Route protection is enforced through AuthGuard, while an HTTP interceptor automatically attaches JWT tokens to authenticated requests. The interface dynamically adapts navigation and available features according to the authenticated user's role.

The data model uses single-table inheritance to represent administrators, technicians, and employees within a unified user hierarchy. Tickets are linked to equipment, fault categories, assigned technicians, and reporting users while progressing through a structured lifecycle from creation to closure. The backend is fully Dockerized, making deployment consistent across development and production environments while providing a scalable foundation for future enhancements.

Challenges

  • Implementing secure JWT authentication with access and refresh tokens
  • Designing scalable role-based access control across three user roles
  • Modeling inheritance for User, Technician, and Admin entities
  • Managing a complete ticket lifecycle with multiple workflow states
  • Building modular Angular architecture with lazy-loaded features
  • Implementing secure equipment image uploads
  • Protecting frontend routes using AuthGuard
  • Automatically injecting authentication tokens through HTTP interceptors
  • Mapping entities and DTOs cleanly with MapStruct
  • Coordinating frontend and backend communication securely

Results

  • Enterprise-ready IT help desk solution
  • Centralized equipment and asset management
  • Complete ticket lifecycle management
  • Secure JWT authentication with refresh tokens
  • Role-specific dashboards for every user type
  • Improved technician assignment workflow
  • Efficient incident tracking and accountability
  • Clean separation between frontend and backend
  • Docker-ready deployment architecture

Community

GitHub

Social Media

Linkedin
© Taoufik Boucetta 2026 Inc. All rights reserved.