/cba_fitwit

FitWit Phase II

Primary LanguageJavaScript

CBA - Community Base Application Template

Issues

Known issues maintained in Github-Issues

Quickstart

I highly recommend to use RVM!

Requirements for CBA:

  • A running MongoDB Server
  • A rvm gemset for Rails Rails 3.1.0/3.1.1

This README is a bit outdated

This README needs to be reviewed. If something will not work as documented here, don't hesitate to contact me at @nickendell or andreas@altendorfer.at

   curl -o install_cba.rb \
   https://raw.github.com/iboard/CBA/master/install.rb
   ruby install_cba.rb

This will install a fully functional web-application, with user-authentication (incl. omniAuth) on a document oriented, non-SQL, MongoDB/MongoID database. Just ready to be extended by your 'real' application code. As a benefit, CBA will offer two MVCs Page and Blog.

Note: Project's README should be identical to README.textile on Github -- I try hard to keep both versions in synchronized state, but check out the Github-version too.

CBA is forked from Rails3-Mongoid-Devise by fortuity, extended by Andi Altendorfer with

  • OmniAuth
  • Paperclip
  • CanCan
  • jQuery

CBA's own implementations

  • Models/MVC
    • User
    • Blog
    • Posting
    • Page
  • Features:
    • Comments and Attachments for all models
    • i18n enabled (en/de)
    • installation.rb (See: Posting)
    • Configuration in application.yml

Installation

  • See: Posting 'installation.rb'
  • CBA is in heavy development age, so please read CBA Blog from bottom to top. There are some latest news, not mentioned in this README.

Delayed Jobs

There is a rake-task to start the background jobs

  rake delayed_jobs:work
```

Unfortunatley [DelayedJobs by 'tobi'](http://github.com/tobi/delayed_job) doesn't work with _MongoId_.
So I did this my own way. To define new background-workers follow this steps:

1 Define a worker in `app/workers` (See [new_sign_up_notifier.rb](http://github.com/iboard/CBA/tree/master/app/workers for example))
2 Enqueue new Jobs like shown in `app/model/user.rb`, method `async_notify_on_creation` ([Source](http://gist.github.com/841907))

Resource 'Page'
------------

Since nearly any website needs some kind of 'semi-static pages' and we need some kind of object to test the application, there is a resource Page with the following features

   * Consists of a title and a body
   * The body is rendered with _RedCloth_
   * The MongoId of `/page/MONGO_ID` in the browser-address will be replaced by `/p/title_of_the_page` with JS.

Testing with Spork
----------------

To run autotests you have to start the spork-server and then run autotest command

  1. `AUTOFEATURE=true bundle exec spark`
  2. `AUTOFEATURE=true bundle exec autotest`

To run your unit-tests using spork do

  1. `bundle exec spork TestUnit --port 8988`
  2. `testdrb -I test test/unit/*rb`

Start all at once with thor-task
--------------------------

You can use `thor application:run_autotests` to start the spork-server and autotest. The shortest way to jump into *continuos testing* 

Layout and Templates
-------------------

  * Edit application.css or 'your_name_given_at_install'.css
  * Edit views/layout/application.html or views/layout/'your_name_given_at_install'.html.erb
  * Read [Posting](http://cba.iboard.cc/postings/4dbebb9adaf9853b3000001a)
  * Visit [Demo Page](http://cba.iboard.cc/p/pagecomponent_and_pagetemplat$)


License
------

See: [Freedom](http://cba.iboard.cc/p/freedom)

Links
----

See: [Link-page](http://cba.iboard.cc/p/links)