Let’s examine how you can create an app in Force.com. What are the business requirements and how to approach development of this app?

Project Details

Conference Management App

A conference is planned in the next few weeks by your company. The conference event will have many sessions in which different speakers will make presentations. An application is required to track all the sessions of the conference and assign speakers to the sessions. The venue for each session may be different and this needs to be managed as well.
 anatomy

Additional Business Requirements

The speakers need to be informed by eMail when they are assigned to a specific session. The assignment needs to be managed so that accidentally the same is speaker is not assigned to two different sessions at the same time. A profile of each speaker with his photograph needs to be created so that the attendees know who they would be listening to.

The venue – hotels – need to be assigned to the different sessions and visualized on google map.

Finally, the attendees should be able to browse the sessions through a mobile app.

How to design the app?

First identify, who are the users of the app? The speakers are internal company employees while the attendees are external users (not employees).

Then, in the next step, in this Conference Management app we identify the tools we shall use as follows:

App for internal employees

Goal: Track session – and assigned speakers & hotels for these sessions.

Declarative Tools

  1. Create object model: sessions, speakers.
  2. Create conference app “wireframe”

Programmatic

  1. Trigger automatic confirmation email once speakers are assigned to sessions.
  2. Customize user interface with Visualforce Pages to upload speaker pictures.
  3. Flickr integration (Apex) to show conference pictures.
  4. Google Maps integration (JS) to show conference hotels.

App for external users

Goal: View list of sessions on smartphone.

We also need a “companion” app, for external users – the attendees – so they can browse names of sessions on their smartphones.

For the external users app, we shall choose open source technology – JavaScript, Node.js and run host it on Heroku.
This heroku app will communicate with the Force.com app through secure APIs to get session details and display for attendees.

Note: Heroku is a part of the App Cloud just like Force.com; on Heroku you host apps created with open source languages; while on Force.com you create apps with the Force.com framework.