Helpdesk Application
The project is a Helpdesk application (Helpdesk dynamics) where staff of an organization can raise and assign job/trouble tickets to themselves or to a fellow staff of the same organization based on their roles and the level of access. It is a customer service application where the users create, organize, track as well as monitor job tickets for their customers until they are resolved and closed.
Technologies used:
- Python
- Django
- JavaScript
- HTML
- CSS
- sqlite3
- BootStrap4x
- other small libraries or packages(see file "requirements.txt")
How the application works?
The idea is simple. A new staff of the organization (user) registers in the application with his/her username, email and password. After the initial registration, the user is required to update the following fields:
- Firstname
- Lastname
- Role
- Location
- Image(profile picture)
Access Levels
There are three Access Levels for users in the application (Regular, Standard and Admin). All new users automatically are registered as "Regular" with limited access. Standard users have more access than Regular, while Admin has the highest privilege.
An initial user account that is required to grant or change other user's access to privileged access after registration is "support" (It is being shipped with the application). The log-in credential are as follows:
- Username: support
- Password: helpdesk
The Three levels of Access are described below:
-
Regular: Regular users can raise and assign job tickets to themselves or to any escalated user that must have been escalated to them by Admin as their subordinate. They can only track and update job tickets raised by themselves or their subordinates.
-
Standard: Standard users can raise and assign job tickets to themselves, to specified escalated users that must have been escalated to them by Admin as their subordinate as well as all other users in the organization. They can track and update all job tickets raised by themselves, their subordinates and all other users.
-
Admin: The Admin has all the privileges of the Standard or Regular users and in addition, can supervise any user he wishes to supervise (escalated user). Admin has the right to make other users as supervisors or subordinates to a supervisor. He can also change access levels of any user to either Regular, Standard or Admin.
Application pages
- Index: User's dashboard for raising personalized job tickets.
- Profile: User's profile for assigning job tickets to specific users and updating their access and profile details.
- Escalated Tickets: Page for tracking and updating escalated users tickets.
- Super Access: Page accessible to only Standard and Admin users for assigning and tracking job tickets for any user.
How to launch application
- Download the distribution code into your system
- Check that Django and all requirements are installed
- In your terminal, cd into the project directory
- Run "python manage.py runservser" to start the server
- In your browser go to
http://127.0.0.1:8000/
- You are ready to go!
Distinctiveness and Complexity
- The web application is mobile responsive
- The website is distinctive from other websites of other projects due to its ability to handle customer's jobs via the raising and tracking of job tickets.
- The website is also complex because it has various controls that allows for registering new customers and updating their tickets, granting various access privileges to users and other important features.