はじめに
UdemyでRuby on Railsのコースを学習したので、そこで学んだ知識を生かしてWEBアプリを開発しました。
ソースコード
GitHubで公開しています
https://github.com/Ryota7101/milestone.git
主な機能
- miliaによるマルチテナント機能
- タスク機能
- タスクへのカテゴリ付け
- ファイルアップロード機能
- プレミアム会員機能
- 管理者機能
アプリ詳細
サインアップ

サインアップ時にフリープランかプレミアムプランかを選択できます。
フリープランの場合はカード情報入力欄が表示されません。
プレミアムプランに切り替えると、クレジットカード情報入力欄が表示されます。
※情報を登録して処理する機能を設定してないので、ここで入力した情報は保存されません。
プロジェクト作成

ファイルアップロード機能
テキストファイルや画像をアップできます。
※ただし、クラウドなど保存先を設定していないので、現状ではどこにもファイルは保存されません。
タスク

管理者機能
Organization作成者は自動的に管理者として登録されます。
管理者がログインしてる場合は、ナビゲーションバーに
- メンバー追加
- プラン変更
- タスクのカテゴリ管理
のボタンが表示されます。

タスクのカテゴリ
タスクのカテゴリ管理(作成や削除)は管理者のみが行えます。
タスクを作成したり、タスクにカテゴリを設定するのは非管理者でも行えます。

カテゴリを作成すると、カテゴリ一覧ページに表示されます。
使用する場合は、タスク作成時にチェックを入れます。
プラン変更
メンバーを招待する
管理者はメンバーをプロジェクトに招待できます。
招待したい人の氏名やメールアドレスを入力すると、リンク付きのメールが相手に送信されます。
届いたメールのリンクをクリックすると、パスワード設定画面に移動するので、パスワードを入力します
管理者がプロジェクトページを見ると、招待した相手の情報が表示されるので、Addボタンを押すと招待が完了します。
招待が完了すると、メンバー欄にメンバーの情報が表示されます。
招待された相手がログインすると、管理者が作成したプロジェクトやファイル、タスクなどが表示されます。
※招待されたメンバーは管理者でないので、ナビゲーションバーにカテゴリ管理などのボタンは表示されません。

別の組織を作成
試しに別の組織でサインアップして、これまで作成した情報が表示されないことを確認します。
これまでに作成した情報が表示されず、初期画面となっているため、組織ごとにデータが分かれてることがわかります。
終わりに
-
Udemyのコースの内容が2015年ごろのもので、その通りにコードを描いても動かないことが多く、苦戦しました。(コースではRails4、著者は5で作成)
-
相変わらずコード書いて実際にweb上で動かして確認して・・とやってしまい、テストはおざなりになってしまった。。
-
実戦でRails使いたいです