README.rdoc
= Cal Raijin Taiko Website
{<img src="https://travis-ci.org/calraijintaiko/caltaiko.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/calraijintaiko/caltaiko]
{<img src="https://codeclimate.com/github/calraijintaiko/caltaiko/badges/gpa.svg" />}[https://codeclimate.com/github/calraijintaiko/caltaiko]
{<img src="https://codeclimate.com/github/calraijintaiko/caltaiko/badges/coverage.svg" />}[https://codeclimate.com/github/calraijintaiko/caltaiko]
{<img src="https://gemnasium.com/calraijintaiko/caltaiko.svg" alt="Dependency Status" />}[https://gemnasium.com/calraijintaiko/caltaiko]
This is the source code for Cal Raijin Taiko's new website, www.caltaiko.org.
Many many thanks to {Benjamin Ortiz}[https://github.com/benortiz] for doing much
of the design work!
== Dependencies:
* rvm[https://rvm.io/rvm/install]
* npm[https://www.npmjs.com/]
* Bower[https://bower.io/]
* Git[https://help.github.com/articles/set-up-git]
* {Ruby 2.4}[https://www.ruby-lang.org/en/]
* {Rails 5.0}[http://rubyonrails.org/]
* ImageMagick[http://www.imagemagick.org/]
== Setup:
1. Fork[https://help.github.com/articles/fork-a-repo] this repository
on the GitHub website, then clone your repository onto your computer:
$ git clone git@github.com:[Your Github Account]/caltaiko.git
2. Go into the caltaiko repository
$ cd caltaiko
3. Run the setup script and follow the prompts to install all required
dependencies.
$ bin/env_setup
This will also create the development database and seed it with random
resources, including an admin account with username <tt>admin</tt> and
password <tt>secret</tt>.
If any problems arise, please visit the wiki[https://github.com/calraijintaiko/caltaiko/wiki/Contributing#initial-setup]
to see if your problem is addressed.
== Integrate with AWS
1. Go to https://aws.amazon.com and create an Amazon AWS account.
2. Go to your {management
console}[https://console.aws.amazon.com/console/home] and change the
region to <b>US West (N. California)</b>
3. Go to the {S3 Management
Console}[https://console.aws.amazon.com/s3/home] and create a new
bucket.
4. Go to the {IAM
ManagementConsole}[https://console.aws.amazon.com/iam/home?#users] and
create a new IAM user.
When the success notification pops up, be sure to either download
the security credentials or otherwise store them in a secure location.
5. Create the file <tt>config/aws_config.yml</tt> and fill it with the following:
access_key_id: AWS_ACCESS_KEY_ID
secret_access_key: AWS_SECRET_KEY_ID
s3_host_name: "s3-us-west-1.amazonaws.com"
bucket: YOUR_BUCKET_NAME
Where <tt>AWS_ACCESS_KEY_ID</tt> is the IAM user Access Key ID,
<tt>AWS_SECRET_KEY_ID</tt> is the IAM user Secret Access Key, and
<tt>YOUR_BUCKET_NAME</tt> is the name of the bucket you created.
Before your next Git commit, run git status to make sure the aws_config file is
not being included (it's listed in the gitignore so it shouldn't be, but make
ABSOLUTELY SURE!!!). This is extremely important, since if those access keys
wind up on GitHub, bad people can very easily use them to rack up a bill of
several thousand dollars on your AWS account.
== Enable emails to be sent through Gmail
Create the file <tt>/config/local_env.yml</tt> and fill it with the
following:
GMAIL_USERNAME: "username@example.com"
GMAIL_PASSWORD: "PASSWORD"
GMAIL_DOMAIN: "example.com"
where <tt>username@example.com</tt> is a Gmail address that you
have access to, and <tt>example.com</tt> is the domain. Most
likely this will be <tt>gmail.com</tt>, unless you are using a
Google Apps account.
== Upkeep:
To keep track of any changes made to the original repository, add
remote named upstream
git remote add upstream https://github.com/calraijintaiko/caltaiko.git
To sync any changes I make with your own repository, run the commands
git fetch upstream
git merge upstream/master
== Documentation
To generate the formatted Rdoc document, run the command
rake doc:app
from the main directory. This will generate a directory
<tt>caltaiko/doc/app/</tt>.
Open the file <tt>caltaiko/doc/app/index.html</tt> to view the
documentation on each of the pages, classes, modules, and methods of
the application.