Challenge Overview
Overview
Welcome to KONNECT – Responsive Ticketing System .NET Application Updates challenge!
We want to build a simple service desk ticketing system for MSPs (Managed Service Provider). The custom application will be a responsive web application. We’ve run the following challenges so far
Konnect App UI Prototype Challenge
Konnect App Backend Implementation Challenge
Konnect App Frontend + Backend Integration Challenge
As part of this challenge, we want to add some missing pages and make more changes to application frontend and backend. The latest code for this application resides in our Gitlab repo - please request access via the forums.
We are providing the following resources in the challenge forums
* Latest UI Prototype code
* Overall architecture documents are also provided as a reference
Requirements
-
The application has the following roles
-
Super-Admin - Can add/ delete/ update companies, resources and users (admin/staff)
-
Admin - Can add/delete/update users and resources for the respective company for which they have an admin role. Can NOT add or delete companies
-
Staff - Belong to a specific company
-
Customer - Is able to create new tickets and update existing tickets
All 4 roles are defined in the application backend but the frontend currently only supports super-admin role NOT the admin role. We want to update the frontend so it supports the admin role (should NOT allow access to companies)
B) The user model currently does not allow storing a profile picture.
-
Add an attribute to the user model to store the full path of user’s profile picture
-
Update the DDL and test data scripts
-
You will need to update the corresponding backend methods to set/ update the profile picture
C) The backend does not have a model for resources. Create a model for resources with the following attributes. It should be used in the resources pages.
-
Category (link it using category id)
-
Subject (text)
-
Content (text)
-
Location (link it using location id)
D) Integrate the following UI prototype pages (provided in forum) into the application
1. User Profile Update
User should be able to update their profile. This is triggered via the ‘EDIT PROFILE’ button
Clicking this opens the following modal which allows changing the various profile parameters
This should be available for all roles - super-admin, admin, staff, customer
User can update the following fields:
-
Profile pic.
-
First and Last names.
-
Email.
-
Password.
-
Phone Number.
-
Office Phone Number.
-
User role (admin only).
2. Add/ Update/ Delete Company
This should ONLY be available to super-admin
-
Use same modal for editing purposes
-
Delete must be implemented as shown in below modal
3. Add/ Update/ Delete Staff
-
Available to super admin and admin users only
-
Use same modal for editing purposes
-
Delete modal to be implemented as shown in prototype
4. Add/ Update/ Delete Resource
-
Use same modal for editing purposes
-
Delete modal to be implemented as shown in prototype
5. Customer View
-
The customer view is currently not implemented
-
However, all the pages for customer are currently available in admin view - ticket listing and new ticket
-
Replicate these into the customer view by adding the ‘Tickets’ in the sidebar
-
No other sidebar option should be added for customer view
-
Similarly, add the New ticket modal
D) The following known issues must be fixed
i) Modify the backend model so ticket is linked to a location, not to a country. The frontend already has the correct association
ii) Modify the business logic so that tickets should only be assigned to staff in that company
iii) Ensure that Staff should not have access to other companies and staff from other companies
iv) Ensure that Staff should not be able to close tickets that are not assigned to them
v) If I create a ticket with assignee selected, it displays the assignee as blank. It should be properly assigned
vi) Company should be a dropdown not a textbox on all pages
* Please ask in the forums for any clarifications/ permissions to use any 3rd party libs as needed
Final Submission Guidelines
- Completed integrated frontend + backend code- A complete and detailed deployment documented explaining how to deploy the application including configuration information
- Please provide a demo video of your submission (unlisted video on Youtube/ mp4/ swf file)
- Winner will be asked to raise a pull request to the repo
- Winner will have the opportunity to work on some paid final fixes and deployment tasks for client review