Skip to content

Repository files navigation

📊 欠席回数カウンター

授業の出席管理をシンプルにし、単位取得に必要な出席回数を可視化するWebサービスです


📝 概要

授業ごとに「あと何回まで欠席できるか」を自動で計算・表示します。 現在の出席状況を一目で確認できるため、曖昧になりがちな出席管理を正確に行えます。


⚙️ 主な機能

  • ユーザー登録 / ログイン機能
  • 科目ごとの管理(科目名・授業回数の登録、編集)
  • 欠席回数の記録
  • 残り欠席可能回数の自動計算・表示 (出席率は現在「2/3」を基準に計算)

🚀 使い方

  1. アカウント登録
  2. 科目名と授業回数を入力して科目を追加
  3. 欠席した授業があれば「欠席を記録」をクリック
  4. 残り何回欠席できるかをダッシュボードで確認

📦 技術スタック

  • Ruby 3.3.0
  • Sinatra(Web アプリ用の軽量フレームワーク)
  • ActiveRecord(データベースとやりとりするためのライブラリ)
  • PostgreSQL(データベース)
  • Docker / Docker Compose

🛠 セットアップ方法

① Docker を使って環境を起動する

まずは次のコマンドをターミナルで実行します。

docker-compose up -d
  • up:コンテナ(仮想のサーバー)を起動します。
  • -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 の止め方(2 パターン)

③-1. 普通に止めるだけ(データや設定はそのまま)

docker-compose down
  • アプリとデータベースのコンテナを停止します。
  • データベースの中身や Docker イメージは残ります。

🔁 また docker-compose up -d すれば元に戻せます!


③-2. 完全に削除(初期化)

docker-compose down --volumes --rmi all --remove-orphans

このコマンドは以下の内容をすべて削除します:

オプション 内容
--volumes データベースの保存データ(ボリューム)を削除
--rmi all Docker イメージを削除
--remove-orphans 未使用のコンテナも削除

⚠️ 完全にリセットされるため、最初から構築し直す必要があります。 本番前や構成を一新したいときに使いましょう。


🔍 アクセス方法

サーバーが正しく起動していれば、以下の URL でアプリにアクセスできます:

👉 http://localhost:4567


📁 フォルダ構成(かんたん紹介)

.
├── 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

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages