授業の出席管理をシンプルにし、単位取得に必要な出席回数を可視化するWebサービスです
授業ごとに「あと何回まで欠席できるか」を自動で計算・表示します。 現在の出席状況を一目で確認できるため、曖昧になりがちな出席管理を正確に行えます。
- ユーザー登録 / ログイン機能
- 科目ごとの管理(科目名・授業回数の登録、編集)
- 欠席回数の記録
- 残り欠席可能回数の自動計算・表示 (出席率は現在「2/3」を基準に計算)
- アカウント登録
- 科目名と授業回数を入力して科目を追加
- 欠席した授業があれば「欠席を記録」をクリック
- 残り何回欠席できるかをダッシュボードで確認
- Ruby 3.3.0
- Sinatra(Web アプリ用の軽量フレームワーク)
- ActiveRecord(データベースとやりとりするためのライブラリ)
- PostgreSQL(データベース)
- Docker / Docker Compose
まずは次のコマンドをターミナルで実行します。
docker-compose up -dup:コンテナ(仮想のサーバー)を起動します。-d:バックグラウンド(画面に表示しない)で動かします。
🌟 このコマンドを実行するだけで、Web アプリとデータベースが一緒に起動します!
コンテナの中でコマンドを実行したいときは、次のように入力します。
docker-compose exec app コマンドを書く-
データベースの状態を確認したいとき:
docker-compose exec app rake db:migrate:status -
Ruby を直接動かしてみたいとき(インタラクティブシェル):
docker-compose exec app irb -
pry を開いて調べ物したいとき:
docker-compose exec app pry
docker-compose down- アプリとデータベースのコンテナを停止します。
- データベースの中身や Docker イメージは残ります。
🔁 また
docker-compose up -dすれば元に戻せます!
docker-compose down --volumes --rmi all --remove-orphansこのコマンドは以下の内容をすべて削除します:
| オプション | 内容 |
|---|---|
--volumes |
データベースの保存データ(ボリューム)を削除 |
--rmi all |
Docker イメージを削除 |
--remove-orphans |
未使用のコンテナも削除 |
⚠️ 完全にリセットされるため、最初から構築し直す必要があります。 本番前や構成を一新したいときに使いましょう。
サーバーが正しく起動していれば、以下の URL でアプリにアクセスできます:
.
├── app.rb # Sinatraアプリ本体
├── config/
│ ├── config.ru # rackup用の起動ファイル
│ └── database.yml # DB接続設定
├── db/
│ └── schema.rb # DB構造が記録されるファイル
├── public/ # 静的ファイル(画像・CSS・JS)
├── views/ # HTMLテンプレート
├── Dockerfile # Dockerの設定ファイル
├── docker-compose.yml # Docker Compose設定
├── Gemfile # 使用しているgemの一覧
├── Rakefile # DB管理用コマンド定義
└── README.md # このファイル!MIT License