Welcome to the Rails Platform Engine

Platform is a Rails Engine Plugin/Gem that provides a framework for extending any Rails application with 3rd party applications.

As web applications become more and more social, and new devices, such as iPhone and Android, become the new web interface standard for consuming web services data, it is crucial to ensure that 3rd party developers can access your API and extend your application functionality as well as provide new access points to your application through “Connect with” functionality. This engine comes loaded with features that make it easy to provide 3rd party developers with tools, SDKs and documentation to extend your application and consume/contribute to your service data. And for you, the platform makes it easy to develop, deploy, test and document your APIs. You can use the platform for your internal applications or you can expose it to the 3rd party developers. It is your call.

Here are some of the main features:

  • Full support for OAuth 2.0 spec, which allows 3rd party applications to be authorized by your users or allows your own applications to authorize themselves and get access tokens.

  • API core classes that support OAuth and Cookie based authentication and authorization.

  • API documentation tools that allow you to easily generated API docs for your API.

  • API versioning mechanism that allows you to version your API and support multiple versions of the API and documentation at the same time.

  • Platform developer tools that allow your 3rd party developers to register multiple applications with your web site, monitor their activity, participate in discussions and explore your API.

  • Application directory, where your developers submit their applications and your users discover apps, rate them, discuss them and launch them.

  • Administrative tools that allow you to closely monitor developers activity, API calls, manage Application Directory and much more.

  • The platform comes with Tr8n engine, which makes it international out of the box - with hundreds of languages. (Actual translations will be available in the near future.)

Installation Instructions

Add the following gems to your Gemfile:

gem 'kaminari'
gem 'will_filter', "~> 3.1.2" 
gem 'tr8n', "~> 3.1.1" 
gem 'platform', "~> 3.1.1" 
gem 'sass'
gem 'coffee-script'
gem 'acts_as_tree'
gem 'acts_as_state_machine'

And run:

$ bundle install

At the top of your routes.rb file, add the following lines:

mount WillFilter::Engine => "/will_filter"
mount Tr8n::Engine => "/tr8n"
mount Platform::Engine => "/platform"

To configure and initialize Platform engine, run the following commands:

$ rails generate will_filter
$ rails generate tr8n
$ rails generate platform
$ rake db:migrate
$ rake platform:init
$ rails s

Open your browser and point to:

http://localhost:3000

Integration Instructions

The best way to get going with Platform is to run the gem as a stand-alone application and follow the instructions and documentation in the app:

$ git clone git://github.com/berk/platform.git
$ cd platform/test/dummy
$ rake db:migrate
$ rake platform:init
$ rails s

Open your browser and point to:

http://localhost:3000

Platform Screenshots

Below are a few screenshots of what the Platform looks like inside a sample test application:

Developer Tools

Developer Dashboard

API Explorer

API Explorer with OAuth Authorization Window

API Explorer Method Hints

OAuth Help

API Generated Help

Application Directory

Applications by Category with Featured Applications

Application Search Results

Application Details

Application Authorization Screen for Web or Embedded Applications

Embedded Application Launched in an iFrame

User Authorized Applications

Administrative Tools