Skip to content

Latest commit

 

History

History
65 lines (47 loc) · 2.11 KB

README.md

File metadata and controls

65 lines (47 loc) · 2.11 KB

nodejs-javascript-helpdesk

Demo App

About the project

The project is the backend implementation of a HelpDesk service. It exposes APIs for use by different groups of employees in a generic company.

Employees are divided in the following groups: admin, assistant, and general. Each group has access to a particular set of APIs:

  • admin group:
    • Employee registration,
    • Employee info update,
    • Employee info deletion,
    • Employee retrieval by email,
    • Employee retrieval by SSN,
    • Retrieval of employees by city,
    • Retrieval of employees by department,
    • Retrieval of employees by job title,
    • Role creation,
    • Role update,
    • Role deletion
  • assistant group:
    • Ticket update,
    • Ticket deletion,
    • Ticket retrieval by ID.
  • general group:
    • Ticket addition,
    • Ticket retrievals by authorUsername.

The following APIs are open to all employees, irrespective of the particular group they may belong to:

  • User registration,
  • User login.

Prerequisites

  • Nodejs (v20.11.1 or higher),
  • MongoDB Atlas.

Testing

A thorough presentation of the tests conducted during development can be found in the QA Test plan.

Security

  • Authentication: Single-factor, local authentication.
  • Authorization: JSON Web Token (JWT).

Improvements over previous projects

The HelpDesk API project has followed the same project structure as the one implemented in the Warehouse manager API project. However, there are some notable differences and improvements:

  • Improved modularization,
  • A more complex authorization mechanism,
  • Greater test coverage, which includes extreme cases like req = undefined | null,
  • Use of swagger-ui for API documentation.