Challenge Overview
Challenge Objectives
-
Implement the backend (both REST APIs and background job) in provided architecture
Project Background
-
TELUS is a national telecommunications company in Canada that provides a wide range of telecommunications products and services including internet access, voice, entertainment, healthcare, video, and IPTV television.
-
The source will be data files: CSV, TSV, XLS, or XLSX
-
The data can contain more than 10.000 rows of information. In order to serve larger datasets while maintaining responsiveness, the solution should split data into chunks and display an efficient number of rows at a time to ensure responsive interaction within the tool.
-
The validation process is to verify the validity of the data and only involves downvoting, upvoting, and adding comments or observations per row.
-
Multiple users work at the same time on the same data source.
Technology Stack
- Google Cloud
- Postgres (or you have better options to create an efficient solution)
- Node.js
- Swagger���
User Roles
There are two roles in this application.
-
Data Validator
-
Admin
Individual Requirements
You should implement the backend (both REST API and background job) in the provided architecture.
You should provide seed data to allow us to test all the functionalities easily, and make the seed data as meaningful as possible.
You should also benchmark the solution with files with more than 10,000 rows (and maybe 20 - 50 columns), the file upload and search should be benchmarked.
Submission Format
- Source Code
- Postman file with both successful and failed test cases and it should be configured to run easily
- Deployment Guide and Verification Guide in markdown readme