Where art meets technology.
v
e
n
i
c
e
— website boilerplate and blog implementation based on
Character library. It's used as
foundation for new Rails projects or quick prototypes.
Homepage: https://github.com/alexkravets/venice
It assumes you have a machine equipped with Ruby & Mongodb.
- Install the Venice gem using the RubyGems package manager:
gem install venice-chr
- Then kick off a new project & start local server:
venice new your-project-name
cd your-project-name
venice setup
rails s
Default admin account is user@example.com
:password
.
- Create Heroku account
- Login to Heroku
heroku login
- Generate local ssh keys (if you don't have ones)
ssh-keygen -t rsa
- Add local ssh keys to Heroku
heroku keys:add
-
Choose available
APPLICATION_NAME
on heroku, check using urlAPPLICATION_NAME
.herokuapp.com -
Create AWS account
- Create access
KEY
andSECRET
for AWS account
- Add AWS S3 service to your AWS account
- Pick
REGION
for Heroku application and S3 bucket:us-east-1
(default) oreu-west-1
- Deploy application to Heroku
venice deploy heroku APPLICATION_NAME [REGION]
bin/heroku/add-s3 KEY SECRET BUCKET [REGION]
IMPORTANT: Default admin account: is user@example.com
:password
. After
deploy is finished, please login and create a new account, then remove default
one.
- Create Digital Ocean account
- Generate local ssh keys (if you don't have ones)
ssh-keygen -t rsa
- Add local ssh keys to Digital Ocean account
pbcopy < ~/.ssh/id_rsa.pub
- Create
Ubuntu 14.04
droplet, useAdd your SSH keys
option
- Get
DROPLET_IP
- Deploy application to Digital Ocean
venice deploy digital-ocean DROPLET_IP
IMPORTANT: Default admin account: is user@example.com
:password
. After
deploy is finished, please login and create a new account, then remove default
one.
Venice is based on a bunch of open source gems. You might be interested to have a look into those to get better understanding of how things do work inside:
- Character: Powerful responsive javascript CMS for apps
- Formagic: Building forms with CoffeeScript
- Journal: Posts and pages implementation with templates and CMS modules
- Tape: Basic RSS reader that integrates into CMS
- Ants: Utility gem with helpers and concerns that are used on the backend and CMS
- Loft: Media assets manager for Character CMS
- Mongosteen: An easy way to add CRUD actions for Mongoid models
- Devise: Flexible authentication solution for Rails with Warden
If you'd like to contribute a feature or bugfix: Thanks! To make sure your fix/feature has a high chance of being included, please read the following guidelines:
- Fork the repository
- Make your changes
- Push your branch to your fork
- Post a pull request.
Thank you to all the contributors!