A modern CMS for associations, clubs or school classes that is implemented with Ruby on Rails and Twitter Bootstrap.
- Blog-like posts with simple formating and RSS feed
- Static content in the form of pages that are listed in the main navigation (menu item names and ordering are flexible)
- Administration of active and passive members with public display (member ordering is flexible)
- Photo attachments for posts and members
- Automatic image resize and thumbnail generation
- Images are stored on Amazon S3
- Video attachments for posts
- Simple copy & paste of online video URL (e.g. youtube, vimeo)
- No HTML required
- Embed code is automatically fetched via oembed
- Separate video section with all video attachments summarized on one page
- Group SMS messaging to members through the Nexmo API
- User management with admins and regular users
- A download section where arbitrary files can be uploaded
- Supports public and private (only accessible by signed in users) downloads
- Utilizes Amazon S3 for file storage
- Responsive UI optimized for mobile, tablet and desktop
- Custom icon for iOS home screen shortcut
- The latest version of Ruby and Ruby on Rails. Both can be conveniently installed along with RVM.
- The distributed version control system Git.
- If you want to run an instance of gamsjaga on your own system, make sure that ImageMagick is installed.
A convenient way to install Git and ImageMagick is through Homebrew:
brew install git brew install imagemagick
Check out the git repository from your command-line:
git clone https://github.com/nokinen/gamsjaga.git cd gamsjaga
Signup for an AWS Account and get your security credentials for step 4.
Signup for a Nexmo Account and get your API key and secret for step 4.
.envfile with your project settings:
# Thin settings RACK_ENV=development # General settings PROJECT="Project name" AUTHOR="Author name" # S3 Credentials S3_KEY=REPLACE_WITH_ACCESS_KEY_ID S3_SECRET=REPLACE_WITH_SECRET_ACCESS_KEY # S3 Settings S3_BUCKET=gamsjaga S3_LARGE_PHOTO_PREFIX="photos/" S3_THUMB_PHOTO_PREFIX="photos/thumbs/" S3_DOWNLOAD_PREFIX="downloads/" # Nexmo SMS API NEXMO_KEY=REPLACE_WITH_API_KEY NEXMO_SECRET=REPLACE_WITH_API_SECRET
Run local server
Enter the following from your command line to install the required gems listed in the
Gemfile, prepare the database, fill it with sample data, and start the server:
bundle install rake db:migrate db:populate:sample foreman start
Open http://localhost:5000 in your browser, click Login at the bottom of the home page and authenticate with
Deploy to Heroku
After signing up for a Heroku account, install the heroku gem and generate your access keys:
gem install heroku heroku keys:add
Create a new app on the Heroku platform:
Deploy your gamsjaga instance to Heroku:
git push heroku master
Add project settings as environmental variables via
heroku config:add KEY=VALUE:
# General settings heroku config:add PROJECT="Project name" AUTHOR="Author name" # S3 credentials heroku config:add S3_KEY=REPLACE_WITH_ACCESS_KEY_ID S3_SECRET=REPLACE_WITH_SECRET_ACCESS_KEY # S3 Settings heroku config:add S3_BUCKET=gamsjaga S3_LARGE_PHOTO_PREFIX="photos/" S3_THUMB_PHOTO_PREFIX="photos/thumbs/" S3_DOWNLOAD_PREFIX="downloads/" # Nexmo SMS API heroku config:add NEXMO_KEY=REPLACE_WITH_API_KEY NEXMO_SECRET=REPLACE_WITH_API_SECRET
Prepare the database and populate it with sample data:
heroku run rake db:migrate db:populate:sample
Open the fresh gamsjaga instance in your browser:
Click Login at the bottom of the home page and authenticate with
Run tests with
foreman run rspec.