Challenge Overview
Welcome to the IBM Castle - Integrate AngularJS User Interface with Strongloop API. As part of this contest, you will connect an existing HTML Prototype with an API backend.
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 multiple 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 are available here.
Project Overview
This project is the foundation for a complex, enterprise email, calendaring, and messaging system. We will be building a robust REST API to allow multiple frontend clients to connect to many different services, including multiple mail server backends.
Contest Details
The contest is quite straightforward. We have a UI Prototype specific for mobile devices written in AngularJS. We also have an API written in Strongloop’s Looback framework. We would like you to connect the two together so that the Frontend calls the endpoints from the API.
We will share with you a document that describes the features in the frontend that need to be connected with the backend. We have clearly specified which endpoint to call for which feature and how to call it.
Points to Note
-
There is no login for the app. You can simply call the endpoints directly.
-
We want you to use the AngularJS SDK for the loopback framework. If you find this to be difficult to follow you don’t have to make use of it but in case of a tie, the winner will be the one that makes use of this SDK.
-
The UI prototype can be hosted by the Loopback application itself. You can refer to the documentation on hosting static files and on creating custom express routes.
Kindly note the following additional points:
-
You need to use AirBnb’s ESLinter for both javascript code style and checks. This already exists in the existing code base. Make sure that you verify that your submission is free from any warnings and errors. This is only for the javascript aspects of the code.
- The backend makes use of the Strongloop loopback framework. Thus, any updates to it must follow that best practices outlined for it. Please see the links shared above.
Final Submission Guidelines
Kindly make sure that before uploading your submission, it:
-
Meets the specification documents shared
-
Passes all the lint checks using the ESLint rules that we mentioned
-
Implements all the endpoints requested
Once you are ready, create a .zip file of the submission and upload this through the Submit and Review tool for this contest.