Challenge Overview
NOTE - This challenge has a shorter appeals phase and a fixed reviewer fee.
Background Overview
The clients wants to build a platform that will be used by technology users and technology solution providers. It will provide a platform that IT users can go to to search and save web content and where technology providers use the site site to upload content and market to IT end users. This platform will talk about technology and this is not a social media site.
Over the last few weeks, the Topcoder community has helped design and build a prototype for this application. We’ve also built the node.js backend for this application. We then ran an integration challenge to connect the application prototype to the backend API
Application Users
The prototype supports both types of users - just select the appropriate option when logging in to see the respective functionality. All functionality for both users is in scope.
Requirements
We have reviewed the output of earlier challenge with client and identified a list of bugs + change requests that need to be incorporated. Please see the forums for the list of issues to be fixed.
Scope
-
You need to work off the provided codebase for frontend and backend from our Github repos
-
The backend APIs are documented in a swagger file (in repo) and postman collection for backend APIs which should help you in understanding how the APIs work. If you need to update the backend API signatures, make sure to update swagger.yaml file as well
-
Keep the application backend and frontend as separate projects (as they currently are) and keep the backend server URL configurable in the frontend app
-
If any backend changes are needed, please discuss in the forums for architect’s approval.
Assets provided in Forums (available in repo/ forums)
-
Access to Github repo for protoype and backend repos
-
TCUML
-
Application Design Specification
-
Backend API to Screen Mapping
-
Swagger API Definition
Technology Overview
· JavaScript
· JSON
· REST
· SMTP
· Backend
o Node.js 8.x
o Express 4.15.x
o MongoDB 3.4
o Mongoose.js 4.11
o winston 2.3
o passport 0.3.2
· Frontend
o HTML5
o CSS
General Notes
-
The backend code should be free of any linting errors
-
You are required to provide Postman tests for all endpoints. The test collection must cover positive and negative scenarios
-
The client will eventually be deploying the application on AWS but for the sake of this challenge, please submit a functional Heroku URL where you host the application
Final Submission Guidelines
-
Zipped Source code - separate projects for backend and frontend + Working demo on Heroku instance
-
Documentation including instructions for deployment, configuration parameters & verification
-
Demo video showing showing the integrated protoype with backend
Winner will be asked to raise a PR to the repo