Challenge Overview

Challenge Objectives

 
  • NodeJS Rest API development

 

Project Background

  • Desktop Deployment Management Tool application - a web application to help the desktop migration team in managing activities at customer end. The tool will help in quick view of user and asset (desktop data including OS,applications & hardware), rationalize and report asset categories, validate user information and help in scheduling migration activities through automated emails.

  • Application frontend interface will be built based on the previous designs and Angular styling package. In the following challenges we will integrate the backend API with the frontend and build a test suite.

 

Technology Stack

 
  • NodeJS

  • Express

  • Sequelize

  • SQLite

 

Code access

 

Project repository is available at Gitlab - see challenge forums to get access. Backend contains only swagger documentation for the api and database models specifications that you will implement in this challenge.

 

Individual requirements

 
  1. Setup security
    All requests will provide a JWT token in the authorization header (JWT will be issued by the login endpoint). We have only one role of users(either logged in or not).

  2. Create database schema
    Sequelize ORM will be used for all DB access - define all needed models (see database diagram for exact attributes). For any inconsistencies between api and database, follow the api definition.

  3. Implement all API endpoints

All endpoints defined in the swagger are in scope.

 

General requirements

 

Swagger spec is provided in database repository. Logging is required for all controllers, services. Unit tests are not required.

 

What To Submit

 

Submit a deployment and verification guide, and all source code for the API service.



Final Submission Guidelines

Submit a deployment and verification guide, and all source code for the API service.
 

ELIGIBLE EVENTS:

Topcoder Open 2019

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30085985