

見たアニメを記録して、共有しよう
https://annict.com
開発に関するもろもろのやり取りは、以下のサービスで行っています。
admin@annict.com までメールをください。 Twitterなど、第三者に公開されている場所に投稿しないでもらえるとありがたいです。
絶賛募集中です!以下の項目を守った上で送ってもらえると嬉しいです。
- コーディング規約を意識したコードを書いてください
- 新たに機能を追加したときはそのテストも追加してください
- 既存のテストを全てパスすることを確認してください
Annictでは開発に関係するタスク管理をTrelloで行っています。 各タスクは以下のリストで管理しています。
| リスト名 | 概要 |
|---|---|
| Idea | システム内に取り込むことが決定していない漠然としたタスク |
| Ready | システム内に取り込むことが決定したタスク |
| Working | 現在取り組んでいるタスク |
| Done | 作業が完了したタスク |
「Ready」リストの上から順に優先度が高いタスクとなっています。
Annictは以下のソフトウェアを使用して開発しています。 Annictを動かすには事前にこれらをインストールする必要があります。
- Ruby 2.3
- PostgreSQL 9.5
- 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 を変更します。
以下のコマンドでテストが実行できます。
$ bundle exec rspec
Copyright 2014-2016 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.