Challenge Overview
Welcome to the YERC: Role-Based Access Control (API + Integration) challenge. Topcoder and YERC (Yellowstone Ecological Research Center) are working together to create a new platform to monitor, understand, and improve the health of our planet’s ecosystems called EPIIC (Ecosystem Prognosis Impacts Information Cooperative). This collaboration is part of the “Crowd for Good” initiative (Topcoder's non-profit program) and we are inviting all Topcoder Developers to join and take part in this project to create a better future for our environment.
In this challenge we are looking for you to integrate the Login flow using the POC application we created in the prev challenge.
Grand Prizes
- 3 Yellowstone Guided Tour Packages (travel not included)
- 5 Yellowstone Virtual Ecological Workshops
These prizes will be awarded at the conclusion of the project to the Topcoder members who have accumulated the most wins in the series.
Challenge Prizes
This challenge is a part of "Crowd for Good” program and don't have cash prizes, instead, we have the following prizes for members that participate in the challenge:
-
YERC Topcoder Points that can be collected in this challenge series to get the GRAND PRIZES once the project complete (1st place 500 points and 2nd place 250 points)
-
YERC swag (hats and maps) for the top 2 winners
-
Topcoder TCO21 Points
-
Every member whose submission used in the EPIIC platform will get credited on the final platform product in a credits page
-
Every member whose submission used in the EPIIC platform will get a certificate of participation from YERC and Topcoder
Technology Stack
-
NodeJS
-
MongoDb
-
CSS/SCSS
-
ReactJS
General requirements
Code Formatting
-
Make sure code is well documented, all classes, methods, variables, parameters, return values must be documented in every single code file, and appropriate inline comments should be provided too where the code is not straightforward to understand.
-
Please use clean INDENTATION for all the code so future developers can follow the code.
-
Use appropriate linter to validate your code.
JAVASCRIPT SPECIFIC
-
Code written in JavaScript should pass the lint Validation.
LAYOUT
It should be the same as in the given application.
PLATFORM
The application should support Chrome, FireFox & IE Edge (Chromium)
Business Requirements
Resource
-
UI Application: Provided in the forum
-
POC Application: Provided in the forum.
-
Backend API: Provided in the forum
-
To run the POC run POC application & Backend API locally.
-
It’s preferred to created you own mongodb server however you can still use the db connection preconfigured in the backend-api
1.Login Integration
The login & Auth service is provided by the third party service Amphora Data. It’s integrated into the provided POC application.
To integration this into the UI app, the following is required:
Clicking the “Sign-in button” from the homepage should open the Ampohra Sign-In page.
After successfully Sign-In, if the user is new her/his details should be added to the database & the user should land on the dashboard page. These things are already there in the POC. You need you to integrate this into the UI app.
The user section & the above popup should show the info of logged user.
-
Make sure to save the token & other details in localstorage such that on refreshing the page or navigating to a different page the user doesn’t get automatically logged out.
Final Submission Guidelines
Submit a zip container containing:
-
The integrated UI application
-
The Backend API
-
Readme.md with instructions to run the app.
No need to submit any verification video.