Challenge Overview
Our Application will allow users to receive and view greetings sent to them. The application lets users search and select the messages and pictures, schedule when the messages should be sent, and then send the messages to one or more recipients using three distribution methods -- Email, the IBM Connections product, and in the app itself.
The application will use the following technologies:
- Mobile App - It's a native iPhone app
- Backend RESTful API - It should based upon NodeJS + MongoDB
In this architecture contest, we are expecting user to design the backend REST API for the mobile app. Note that we will also need to integrate to the IBM Authentication and IBM Connections API.
Here are some thoughts about the app:
- authenticate with IBM auth - this will be handled by IBM, so please provide a flexible architecture to allow this to be added easily
- messages should be stored in DB
- The message text, image, recipient, sender state (draft, sent, read, unread, deleted) should be stored -- as well as the date for sending
- User can search for the recipients through the IBM Connections API - typeahead should be supported (https://greenhouse.lotus.com/sbt/SBTPlayground.nsf/Explorer.xsp)
- The client app will periodically update the incoming messages sent with Wish app
- There will be a default subject when user selects occasion on schedule new wish screen
We have launched the iPhone Swift UI Prototype contest in parallel, please refer to this page for details about the UI: http://www.topcoder.com/tc?module=ProjectDetail&pj=30047723. Note that client would like to deploy the back-end on BlueMix (http://www-01.ibm.com/software/bluemix/). Your architecture should take this into consideration.
Final Submission Guidelines
Submission Deliverable
- TCUML - Class Diagram, Sequence Diagram
- Application Design Specification
- Assembly Specification(s) - please include an Integration Assembly Specification for the mobile app (describing which REST APIs should be called on which screens)
- REST API Document