見たアニメを記録して、共有しよう
http://www.annict.com
開発に関わるもろもろのやり取りは、以下のサービスで行っています。
anannict@gmail.com までメールをください。 Twitterなど、第三者に公開されている場所に投稿しないでもらえるとありがたいです。
絶賛募集中です!以下の項目を守った上で送ってもらえると嬉しいです。
- コーディング規約を意識したコードを書いてください
- 新たに機能を追加したときはそのテストも追加してください
- 既存のテストを全てパスすることを確認してください
Annictでは開発に関係するタスク管理をGitHub Issuesで行っています。 各タスクは以下のラベルを紐付けて管理しています。
ラベル名 | 概要 |
---|---|
Ideas | システム内に取り込むことが決定していない漠然としたタスク |
Ready | システム内に取り込むことが決定したタスク |
Working | 現在取り組んでいるタスク |
Priority: 1 | 優先度が高いタスク |
Priority: 2 | 優先度がそれなりに高いタスク |
Priority: 3 | Priorityラベルが付いていないタスクよりは優先度が高いタスク |
Annictは以下のソフトウェアを使用して開発しています。 Annictを動かすには事前にこれらをインストールする必要があります。
- Ruby 2.2.2
- PostgreSQL 9.3
- ImageMagick
- Node.js 0.12
- PhantomJS
- テストを実行するときに使用しています。Annictをローカルで動かすだけであれば不要です
GitHubからソースコードをcloneしてから以下のコマンドを実行してください。
$ cd annict
$ cp config/application.yml{.example,}
$ bundle install
$ bundle exec rake db:create
$ bundle exec rake db:migrate
$ bundle exec rake db:seed
$ bundle exec rails s -b 0.0.0.0
http://localhost:3000 にアクセスすると、 サイトのトップページが表示されるはずです。
ただ、上記コマンドを実行しただけでは作品画像などは表示されないはずです。 画像を表示するには「Tombo」という画像変換サーバを別途起動する必要があります。
Annictでは作品やアバターなど画像を表示するとき、 「Tombo」という画像を動的にリサイズする画像変換サーバを使用しています。 動かし方などはTomboのリポジトリをご覧ください。
AnnictでTomboを使用するときは localhost:5000
でサーバを起動します。
作品情報などのテストデータは以下のコマンドで読み込むことができます。
$ bundle exec rake db:seed
処理に時間がかかるため、デフォルトでは50件だけ作品を保存しています。
もし100件保存したい場合は、limit
という引数を指定します。
$ bundle exec rake db:seed limit=100
全作品を保存したいときは limit=0
を指定します。
bundle exec rake db:seed limit=0
AnnictのRailsアプリに必要な設定値は全て config/application.yml
に記述しています。
開発環境でも必要に応じて設定を変更する必要があります。
例えばTwitterアカウントを使用してローカル環境でユーザ登録をしたいときは、
TwitterでOAuth認証用のアプリを作成し、config/application.yml
に記述されている
TWITTER_CONSUMER_KEY
と TWITTER_CONSUMER_SECRET
を変更します。
Annictには作品やエピソードの情報をWebブラウザから編集することができる管理画面が存在します。 管理画面は以下のステップを踏むことで見ることができます。
まず、staffs
テーブルに管理画面にログインするアカウントを登録します。
$ bundle exec rails c
> Staff.create(email: '(メールアドレス)', password: '(パスワード)')
そして http://localhost:3000/marie/signin にアクセスし、 先ほど登録したアカウント情報を入力すると、ログインすることができます。
以下のコマンドでテストが実行できます。
$ bundle exec rspec
Copyright 2015 Annict
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.