Project

platform

0.01
No commit activity in last 3 years
No release in over 3 years
This gem provides all necessary tools to make a Rails application into a platform with third party applications.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
 Dependencies

Development

Runtime

>= 0
>= 3.2.3
>= 0
>= 3.2.3
>= 3.1.6
 Project Readme

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¶ ↑