Challenge Overview
This is a fast 48h challenge. Make sure you don’t miss any deadline.
Challenge Objectives
-
As part of this very simple challenge, you need to implement all endpoints related to member statistics.
Tech Stack
-
NodeJS
-
DynamoDB
-
ElasticSearch
-
Docker
-
Swagger
Code Access
Repo: https://github.com/topcoder-platform/member-api
Branch: develop
Project Background
In this series of challenges, we’re building the new Member V5 API that will replace our existing Member V4 API.
Detailed Requirements
Endpoints in scope
The following endpoints from the Swagger definition are in the scope of this challenge:
-
GET /members/stats/distribution
-
GET /members/{handle}/stats/history - You also need to add support for filtering by groupIds.
-
GET /members/{handle}/stats
The member API only performs READ operations on statistics. The data is getting inserted by other services. You need to provide scripts to insert sample data into the DB for testing/verification.
Unit/E2E Testing
You need to cover all new code with unit and E2E testing. You need to create both positive and negative test scenarios.
Important notes
-
Follow the best practices for creating Node.js APIs.
-
Use Standard.js for linting.
-
Update the provided Swagger file to reflect any changes made during development if needed.
-
Both the Swagger file and your code should comply to our V5 API Standards (PDF attached on the challenge forum).
-
Performance and stability are very critical.
Submission Deliverables
Submit a git patch for the latest commit in the develop branch.