Challenge Overview
Project Overview
IBM is building a versatile, extensible Mail and Calendaring interface on top of their existing infrastructure. As part of this contest, you will make use of Strongloop’s Loopback Framework to create an API server and expose some API endpoints. These endpoints will be used by an Angular application and native mobile clients to be built in subsequent challenges.
This challenge is part of the *IBM Castle* Challenge Series. Competitors who win challenges in this series will compete in a leaderboard of points for additional prizes. We have lots of contests coming in this series so it is best that you participate early and frequently. More information, rules, and leaderboards available here.
Competition Task Overview
For this challenge, we need to build an API to find timezone of a given location.
Here are the requirements:
- Create new endpoint in our API stack, it should accept the following parameters
- City
- State
- Country
- The endpoint should return status code and timezone info for the given location.
- The new endpoint must handle errors gracefully and not crash if errors happen
- The server will be raspberry pi
- Your solution should compulsorily use Strongloop’s Loopback framework.
- You need to use AirBnb’s ESLinter for both javascript code style and checks.
- We'll provide a Swagger doc, make sure you update it with the new endpoint from this challenge and you must follow the same standards already used by the swagger doc.
- Unit tests are required for the api.
- You must follow the format of the strongloop code.
- In addition to the api, we need a standalone utility that can load latest data into the service database. It must be easy to use and we prefer to have it done in node.js as well.
Notes
Please check this challenge to see more details about the service, the key point is this service needs to work "offline" so it needs to have its own data.
We'll provide the winning submissions from the ideation challenge so you can follow the suggestions to build a working solution.
Timeline
This challenge has shorter timeline, please make sure you don't miss the deadlines.
Technology Overview
- Node.js
- Strongloop
- REST
- MongoDB
- Raspberry Pi
Final Submission Guidelines
Submission Deliverables
-
1. Double check your submission passes all the lint checks using the ESLint rules that we mentioned and includes Unit Tests. POSTMAN extension based imports are NOT allowed.
-
2. Upload complete code (including updated swagger doc) as well as documentation for how to run your submission
-
3. Add huangqun as a member of your forked repository
-
4. Winner will be required to submit a merge request on gitlab against the branch specified and provide merge conflict support.
Final Submission
For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.