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