Service Desk

Service Desk is a SPA built in Angular with a .NET Core Web API backend. The application uses Azure SQL as the main data store. The solution leverages Azure Storage queues to process tickets offline and send request acknowledgement emails using the SendGrid email service. The email contains the ticket no and links to a collection of knowledge base articles relevant to the user’s request.

I used the scalable web app in Azure reference architectures as a base. I haven’t used some of the services mentioned in the reference architecture like CDN, as the app has minimum static content.

App service apps

Web app

A single page application written in Angular 4.0.

API app

A .NET Core Web API application with CORS enabled to allow requests from the SPA.

Azure Function

Azure Function app takes care of background processing of service requests.

Azure AD

Users are authenticated using Azure AD. The JWT tokens are passed from the SPA to the Web API. The API app then uses the claims in the token to uniquely identify the users.

Storage

A Storage Queue holds the service request information for further processing.

Azure SQL

Permanent store for the service requests.

Cosmos DB SQL API

Data store for the knowledge base.

Azure Search

Indexes Cosmos DB documents and provides full text search functionality.

Email service

For sending the acknowledgement email.

Blog posts related to the project

Leave a comment