Skip to content

Desk Mate, a microservices-based Help Desk Software powered by MERN stack and Tailwind CSS, streamlines support with a robust ticketing system, AI chatbot, brand customization and strong security measures.

Notifications You must be signed in to change notification settings

AhmedHosny2/Staff-Help-Desk

Repository files navigation

Desk Mate

Alt text

Frontend Reposiery Here

Demo

You can watch a walkthrough of the website from Here

Table of contents

  • Project Title
  • Demo
  • Table of contents
  • Description
  • Technology Stack
  • Microservices and Ports
  • Usage
  • .env.example
  • List of Features
  • Preview
  • Contributers


Description

Desk Mate is a Help Desk Software project designed with a microservices architecture, aimed at creating a robust application using the MERN stack (MongoDB, Express.js, React.js, Node.js), complemented by Tailwind CSS for streamlined and efficient styling. Focused on improving support and ticketing processes, the software incorporates features such as user management with role-based access, a comprehensive ticketing system for issue categorization and prioritization, an organized Knowledge Base for quick problem resolution, and communication tools including an integrated email and notification system and real-time chat functionality. Additionally, Desk Mate integrates an advanced AI chatbot, providing users with intelligent and instant assistance. The AI chatbot enhances the user experience by offering prompt responses and solutions. The system further includes responsive design for seamless usage across various devices, robust logs for real-time issue tracking, and Multi-Factor Authentication (MFA) to enhance overall security. Reporting and analytics features provide insights into ticket status, resolution time, and agent performance, while automation and workflows streamline repetitive tasks. The emphasis on customization, branding, security measures, and data protection ensures a well-rounded solution.

Technology Stack

  • React.js - Frontend Framework
  • Node.js with Express.js - Backend Framework
  • MongoDB - Database
  • Tailwind CSS - CSS Framework
  • JSON Web Tokens (JWT) - Authentication
  • Socket.io - Real-Time Communication
  • JOI - Backend Input Validation

Microservices and Ports

  • Users Microservice: Port 5001
  • Tickets Microservice: Port 5002
  • Notifications Microservice: Port 5003
  • Chat Microservice: Port 5004
  • Middleware Microservice: Port 5005
  • Knowledge Base Microservice: Port 5006
  • Logging Microservice: Port 5007
  • Ticket Classifier Microservice: Port 5012
  • Bot Microservice: Port 5008

Usage

  1. Clone this project
  2. Download Dependencies (MongoDB,node,react...)
  3. Make a .env file and use the .env.example
  4. Open terminal in the project folder then run python .\initializeAll.py
  5. Then run python .\runAll.py
  6. Clone the Front End files from this repo : Link
  7. Open terminal in the front end project folder then run npm i command
  8. Make a .env file and use the .env.example from the frontend repositries
  9. Run npm start in the frontend folder and wait a min or two
  10. Enter in your browser http://localhost:3000/

.env.example

CLIENT_URL="http://localhost:3000"
PORT=
CONNECTION_URL=
ACCESS_TOKEN_SECRET=
REFRESH_TOKEN_SECRET=
DOMAIN="localhost"
OPENAI_API_KEY=
DESKMATE_SENDGRID_API_KEY=
CLIENT_ID=
CLIENT_SECRET=
SESSION_SECRET=
DB_PASSWORD =
GOOGLE_DRIVE_CLIENT_ID =
GOOGLE_DRIVE_CLIENT_SECRET =
GOOGLE_DRIVE_REDIRECT_URI =
GOOGLE_DRIVE_REFRESH_TOKEN=
BACKUP_URI=
USER_BASE_URL= "http://localhost:5001/user/"
MIDDLEWARE_BASE_URL= "http://localhost:5005/"
LOGGING_BASE_URL= "http://localhost:5007/logging/"

List of Features

  • Ticketing System with Categorization and Prioritization
  • Custom Workflow for Issue Reporting
  • Knowledge Base with Organized Repository of FAQs and Solutions
  • Integrated Email and Notification System
  • Real-Time Chat Functionality for Immediate Assistance
  • Reporting and Analytics on Ticket Status, Resolution Time, and Agent Performance
  • Automation of Repetitive Tasks
  • Customization of Help Desk's Appearance
  • AI Chat Bot for imediate assistance
  • Implementation of Security Measures including Encryption and Decryption of chat
  • Data Backup and Recovery Procedures
  • AI Ticket Routing System
  • Multi-Factor Authentication (MFA) for Enhanced Security
  • Error and Exception Logging for Robust Troubleshooting
  • Rate Limiting for Logins and Other Sensitive Requests
  • Progressive Web App
  • Responsive Design for Seamless Usage Across Various Devices

Preview


Home Page


Home Page Screenshot


Profile Page


Profile Page Screenshot


Create Ticket


Create Ticket Screenshot


Tickets


Tickets Screenshot


Ticket


Ticket 1 Screenshot



Ticket 2 Screenshot


Knowledge Base


Knowledge Base Screenshot


Chat


Chat Screenshot


Chat Screenshot


User Management


User Management Screenshot


Website Customization


Website Customization Screenshot


Reports


Report 1 Screenshot


Report 2 Screenshot


Chat Bot


Chat Bot Screenshot


Emails


Emails Screenshot


Multi-Factor Authentication


MFA 1 Screenshot


MFA 2 Screenshot


Logs


Logs Screenshot


Contributers

About

Desk Mate, a microservices-based Help Desk Software powered by MERN stack and Tailwind CSS, streamlines support with a robust ticketing system, AI chatbot, brand customization and strong security measures.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published