Challenge Overview
Welcome to the “CRM - Correspondence Backend Update (WBI) Challenge”. We are currently building an internal web application for a client. This application will be divided into frontend and backend. This one of a series of challenges to build both applications.
CONTEXT
PROJECT CONTEXT
The client has requested to build a full stack application that involves both the backend REST API (Nest.JS) and a frontend application (Angular 9). This application will allow users to build a correspondence to clients based on Letter and Forms templates.
CHALLENGE CONTEXT
The goal of this challenge is to complete the correspondence backend API from the design specifications.
CHALLENGE DETAILS
Technology and Framework
- NestJs
- Typescript
- NodeJs 12.x
- MongoDB
Requirements
- Update the correspondence backend REST API from the provided documentation
- Must use the base code provided in the forum
- Swagger file and business logic documentation will be provided in the forum
- Web Responses and "Web Inquiry/Ask A Question" are in scope.
- "Web Responses" will communicate with MongoDB
- Some operations will be available only for Admins - JWT id token must be used to get userId and userRole properties
- The file wbi-catalog will be provided in the forum
- A script to load this file into MongoDB must be provided
- "Web Inquiry/Ask A Question" will communicate with client's internal contact API. The following endpoints of the contact API must be mocked
- GET /web-inquiry/{webInquiryId}
- PUT /web-inquiry/{webInquiryId}
- For connection with MongoDB, the TypeORM library must be used (don’t use mongoose)
- Unit test is in scope - database and external systems calls must be mocked
- Reference https://docs.nestjs.com/fundamentals/testing
- Existing code should have it's coverage increased. Final backend code should have >85% coverage
Final Submission Guidelines
- Updated correspondence backend
- Updated README file