No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
bin
client
config
db
doc/api
gulp
lib/tasks
log
misc
nginx
scripts
spec
static
test
.bowerrc
.coveralls.yml
.gitignore
.rspec
Dockerfile
Gemfile
Gemfile.lock
README.md
Rakefile
bower.json
config.ru
docker_supervisor.conf
gulpfile.coffee
karma.conf.coffee
package.json
protractor.conf.coffee
protractor.conf.js
run.sh

README.md

hokui.net

Project
Codeship Status for hokui/hokui.net
Backend
Code Climate Test Coverage
Frontend
Coverage Status

バックエンド

最初だけ

bundle install --path .bundle/gems --jobs=4

# install mailcatcher gem
gem install mailcatcher
# boot mailcatcher server, then goto localhost:1080
mailcatcher

git pull upstream masterした後毎回 Gemを更新してDBをリセット

bundle install
bundle exec rake db:dev

mailing listを実行

git clone https://github.com/hokui/mailing_list
cd mailing_list
bundle install --path .bundle/gems --jobs=4
cp config/application.example.yml config/application.yml
bundle exec rake db:migrate
bundle exec rails s -p 3001

フロントエンド

NOTE: Need to install Gulp globally or run Gulp with npm run gulp ....

開発版ビルド

public/に、client/以降の構造を保って展開する。

プロダクションビルド

dist/に展開する。 index.jade以外のマークアップはすべてテンプレートとして$templateChacheを使ってJSに埋め込み、他と併せて結合/圧縮して一つのファイルで出力。CSSも同様。

開発サーバーについて

index.htmlを「pathに.を含まない」を条件にして返しているのと、trailing slash周りが怪しいので開発サーバー側で取り除くようにしている点で、若干Nginxと挙動がことなります。

Gulp

タスク

  • gulp ... ビルドして、バックエンドでRailsサーバー(daemonized)と、開発サーバー(http://localhost:9000)を起動し、ファイルの監視/Livereloadをする
  • gulp watch ... 上記のRailsサーバーを起動しない版
  • gulp serve ... 上記さらにファイル監視を行わない版
  • gulp build ... ビルドのみ
  • gulp e2e ... http://localhost:9000に対してE2Eテストを実行する
  • gulp run-e2e ... ビルド、DB初期化、Railsサーバー/開発サーバーの起動後、E2Eテストを実行する。
  • gulp rails ... バックエンドでRailsサーバー起動
  • gulp rails:stop ... バックエンドで起動したRailsサーバーを停止
  • gulp rails:setup ... bundle exec rake db:devのエイリアス

オプション

  • --prod ... プロダクションビルドになる
  • --nosound ... エラーを起こしてもうるさくない
  • --skipmin ... プロダクションビルドでJSとCSSは結合のみ行い、圧縮しない
  • --seed ... ログインとユーザー登録のときに初期値を入力した状態になる。E2Eテスト時は付けない。

その他

  • npm test ... client/core/**/*.coffeeを対象にユニットテストする
  • npm start ... npm install && bower install && gulp --seed --nosoundが実行される。

Run hokui.net on Nginx

  1. Place the project or its symbolic link to /var/www/hokui.net
  2. Boot Rails Server: bundle exec rails s -e production
  3. Build client codes: gulp build --prod
  4. Then, boot Nginx: sudo nginx -c /var/www/hokui.net/nginx/nginx.conf or npm run nginx