自宅の酒を管理するアプリケーション
- 日本酒の在庫を登録・開封・空で管理
- スペックや味わいを定量値・定性値で保存
- 在庫や過去に飲んだ日本酒を全文検索
- 在庫量と総飲酒量の表示
- 複数人での在庫の共有
- PC・スマホ対応のレスポンシブデザイン
- 画像は AVIF 形式に圧縮して Cloudinary にアップロード
- Ruby = (See .ruby-version file)
- Bundler
- Node.js >= 22
- PostgreSQL >= 12.0
- libvips (development only)
- 依存関係のインストール
bundle installcorepack enable && yarn install
- .env ファイルの作成
- PostgreSQL の設定
- Google AdSense のクライアント ID の設定(Google AdSense を使う場合)
cp dotenv.example .env# .env
POSTGRES_USERNAME=[YOUR POSTGRESQL NAME]
POSTGRES_PASSWORD=[YOUR POSTGRESQL PASSWORD]- 管理者ユーザの設定(オプション)
# db/seed.rb
User.create!(
email: "[YOUR EMAIL ADDRESS]",
password: "[YOUR ACCOUNT PASSWORD]",
admin: true,
confirmed_at: Time.current,
)- DB の作成
bundle exec rails db:preparebundle exec rake parallel:setup、並列テストを使う場合
- 管理者ユーザの作成
bundle exec rails db:seed
- サーバの起動
bundle exec rails server
- SAKAZUKI へのアクセス
- http://localhost:3000/にアクセス
- デフォルトか前項内容でログイン
- デフォルトメールアドレス:
[email protected] - デフォルトパスワード:
rootroot
- デフォルトメールアドレス:
Development 環境において、メール通知は http://localhost:3000/letter_opener で確認します。
See the deployment.
- Docker イメージのビルド
$ docker compose build --build-arg RUBY_VERSION=$(cat .ruby-version)
...- PostgreSQL コンテナの初期設定
$ docker compose run --rm web bundle exec rails db:prepare
Creating volume "sakazuki_db_storage" with local driver
Creating sakazuki_db_1 ... done
Creating sakazuki_web_run ... done
Created database 'sakazuki_development'
Created database 'sakazuki_test'
$ docker compose run --rm web bundle exec rake parallel:setup
...
Model files unchanged.
$ docker compose run --rm web bundle exec rails db:seed
Creating sakazuki_web_run ... done- Docker イメージの起動
$ docker compose up
...-
Gem/Node Package の更新があった場合は、
docker compose buildでイメージを更新する -
起動している Docker コンテナでテストを実行する
$ docker compose exec web bundle exec rspec
...- 筆によるすてきな SAKAZUKI by 豆腐屋さん