https://github.com/gorenje/ioaute_backend
rails backend for the ioaute_frontend
https://github.com/gorenje/ioaute_backend
Last synced: 2 months ago
JSON representation
rails backend for the ioaute_frontend
- Host: GitHub
- URL: https://github.com/gorenje/ioaute_backend
- Owner: gorenje
- Created: 2011-03-24T19:22:11.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2017-12-04T14:54:44.000Z (over 7 years ago)
- Last Synced: 2025-01-04T19:45:05.004Z (4 months ago)
- Language: Objective-J
- Homepage:
- Size: 5.49 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
Awesome Lists containing this project
README
== Welcome to Ioaute
Ioaute is an open social publishing platform and this is its backend.
The frontend can be found at https://github.com/gorenje/ioaute_frontend
An example can be found at http://pubme.2monki.es/
== Motivation
To provide an open social publishing platform for everyone. Ioaute aims to provide
a mix of Wiki, GitHub and community: editing content on online like Wiki, clone
and improve content like GitHub and community by using content from everywhere on
the web.Unlike a Wiki, only the author is allowed to edit existing content but anyone can
copy and extend that content, a-la GitHub. And since the world is a community, features
for adding content from anyone are built right in.== Technical
Rails is used to build the backend and this is basically a stock-standard Rails 3
application with a bunch of plugins. It's provides a simple user interface for logging
in and managing publications, an API for the frontend to interact with and simple
partials to render the publications as HTML.These three roles are splitted into 2 plugins (for API and rendering) and the main
application for providing the user interface.The database schema is fairly simple: a publication has_many pages has_many page_elements
A page element is polymorphic so that different specific page elements can be represented
and easily added. In fact, to add a new page element (e.g. to represent a vimeo video
element) is a matter of:
- adding a new model
(here: https://github.com/gorenje/ioaute_backend/tree/master/vendor/plugins/page_elements/app/models),
- a new view
(here: https://github.com/gorenje/ioaute_backend/tree/master/vendor/plugins/page_elements/app/views/page_elements)
- and extending https://github.com/gorenje/ioaute_backend/blob/master/app/models/page_element.rb to map the new page element from the frontend to a ruby class.Views are coded in HAML and css is done in SASS.
== Trying out
This backend contains everything, including the frontend. So what you see running at
http://pubme.2monki.es/ is contained here. The frontend is compilted down to Javascript
and included in this repository. So to try it out:git clone https://github.com/gorenje/ioaute_backend
cd ioaute_backend
## setup database.yml (and probably other stuff -- see config/deploy.rb for details)
rake db:migrate
rails sThis is oversimplified but the point is that the frontend isn't required to try it out.
Frontend repository used to be deployed onto the server and compiled there but because
of various issues with cappuccino versions and frameworks and libraries and etc etc, the
author has setup everything locally to build the frontend locally and then syncs that
over to the backend (rake editor:install) and deploys the .js files onto the server.