Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Project Overview

The goal of this project is to create a web application that can do the following:

- Extraction of Subsidiaries Information from pre-defined sources for given entity.

- Configure the web sources and search the negative news for Entity Name, Entity Owner, Parent Name and Subsidiaries name.

- Present the consolidated negative news report.

Challenge Overview

For this challenge we need your help to build some REST based services / API to support the web app.

General Requirements

- The services must be built as REST API

- The services must be a microservice

- You need to clearly document the API using Swagger

- Open source libraries with Apache v2 and MIT licenses are ok, for any others you must get approval from us first.

Detailed Requirements

Below are the services we need to support the web app:

  • Login: this will authenticate the given credentials against a database table, and it will return a token and the user object (including user’s role) if login is successful. Please note that password in the database should be hashed, we cannot store password as plain text.

  • APIs to support actions on the Negative News -> Administration page, note only admin role can access these APIs. The values for the 4 sections should come from configured values instead of hardcoded.

  • APIs to get scope data for the Negative News -> Search page. Note the data should be based on what the admin saves on the Administration page.

  • API to support search feature on the Negative News -> Search page. For the search api, the implementation can simply return mock response data based on the data structure indicated by the page (example: news grouped by factor, each news item has a title, short description, link, relationships, etc).

  • API to export selected news items to PDF. Note we expect the API export the content of the page (i.e. what you see after you open the news link in browser) to PDF, not the row data.

 

You should use mongodb as backend database.


After you register to the challenge, you can see the prototype of the app to better understand the requirements.

Technology

Node.js

REST

Microservice

Swagger

MongoDB



Final Submission Guidelines

Submit a zip file containing everything, including a detailed README in markdown format that clearly describes how to configure, deploy and verify your solution.

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30059729