Challenge Overview
Project Overview
This project is aimed at creating a Web Based Mobile Application that allows users to check out our client's product catalogs, fit guides, videos and a lot more.
Challenge Overview
As part of this challenge, you will create a MEAN.io package. This package will contain the application in its entirety. However, for this challenge, we will focus on the server components.
Challenge Details
Fork the repository mentioned in the challenge forum. Its an initial Mean.io setup. Remove the examples and other irrelevant code. Only have packages related to this application.
Create a new MEAN.io package in the application. Only work on the server components. Use the provided Swagger specification to create the mentioned routes.
Note that some of the routes are only available after the user is authenticated.
Additionally, integrate the provided Fit Guide API - these need to be integrated with the relevant route (/vehicle). This bundle may change later. So ensure that you carry out the integration in a manner that makes it easy to replace it with another Fit Guide API.
Define and use the appropriate collections in the database.
We strongly recommend that you check out the final designs of the application to get a sense of what you are trying to build.
An upcoming challenge which will work on the UI Components simply needs to call the relevant routes that you have provided in the server components without any additional changes.
Additional Points
- We have the designs of the application available on Gitlab. Also, the project itself is hosted on Gitlab. The link is provided in the challenge forum. Reply to that discussion with your Gitlab handle to get access to the same.
- Tests are required.
- The focus of this challenge is on the server components of the package. You are not required to provide a UI.
- Although the Swagger specification mentions routes to login, logout, register and update users, you can resuse MEAN.io's user authentication and need not create one from scratch.
- Follow the git setup mentioned in the challenge forum.
Materials Provided
- We have outlined the routes specification using Swagger. Use the .yaml file in the Swagger editor to view the specification.
- Designs, code that interfaces with a Fit Guide - both hosted on Gitlab. Please reply with your usernames in the forum discussion to get access to the same.
- Initial MEAN.io code hosted on Gitlab which you need to fork
- Application Design - to give you an idea of how the application will look like eventually
Final Submission Guidelines
The final product should be a MEAN.io package that we can simply use in the MEAN.io application. (See the Articles example of MEAN.io).
Unlike the Articles example, we are not expecting a user interface. Just the server component.
See the git setup in the challenge forum to know how to submit.