Register
Submit a solution
The challenge is finished.

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

  1. 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

Screen Shot 2017-06-05 at 4.16.32 PM.png

Clicking this opens the following modal which allows changing the various profile parameters

Screen Shot 2017-06-05 at 4.17.24 PM.png

This should be available for all roles - super-admin, admin, staff, customer

User can update the following fields:

  1. Profile pic.

  2. First and Last names.

  3. Email.

  4. Password.

  5. Phone Number.

  6. Office Phone Number.

  7. User role (admin only).

 

2. Add/ Update/ Delete Company

This should ONLY be available to super-admin

Screen Shot 2017-06-05 at 5.28.25 PM.png

  • Use same modal for editing purposes

  • Delete must be implemented as shown in below modal

Screen Shot 2017-06-05 at 5.29.16 PM.png

3. Add/ Update/ Delete Staff

  • Available to super admin and admin users only

 

Screen Shot 2017-06-05 at 5.42.23 PM.png

  • Use same modal for editing purposes

  • Delete modal to be implemented as shown in prototype

 

4. Add/ Update/ Delete Resource

Screen Shot 2017-06-05 at 5.48.34 PM.png

  • 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

Screen Shot 2017-06-05 at 5.56.06 PM.png

  • 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

 

Screen Shot 2017-06-05 at 6.03.09 PM.png

 
  • No other sidebar option should be added for customer view

  • Similarly, add the New ticket modal

Screen Shot 2017-06-05 at 6.04.22 PM.png


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

 

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30057876