Rails初心者がヘルスケアサービスをリリースした話
はじめに
はじめまして!
現在、SEへの転職を目指して個人開発を行っているアンドロイドなかしおです。
本記事では、私がRailsでヘルスケアサービス「Best Condition Note」を開発している過程で学んだことや苦労した点について共有させていただきます。
なぜRailsで個人開発を始めたのか
わたしのサービス開発の勉強はRailsチュートリアルから始まりました。
チュートリアルを1周した後、転職を目指すにあたり、実践的なポートフォリオが必要だと考え、チュートリアルで学んだ知識を活かしてサービス開発を始めることにしました。
開発期間は4ヶ月ほど(2024年10月ごろ開発開始)
どんなサービスを作ったの?
「Best Condition Note」というヘルスケア系のサービスを作りました
食事、睡眠、運動、メンタル、体調を5段階評価で記録し、グラフ化するというものです
なぜこのサービスを作ろうと思ったのか
メンタリストDaiGoさんやパレオさんが好きなので、実践するためのサービスが作りたいと思い、日々の体調を記録、可視化し、より良いコンディションを追求するためのサービスを作ることにした
特に以下の点に注力しています:
- 食事、睡眠、運動などの記録を一元管理
- データの可視化による傾向分析
- AIによる洞察(開発予定)
サービスの技術スタック
- Ruby on Rails 7
- Bootstrap 3
- PostgreSQL
- Minitest
- 実行環境:Render
- メールサーバー:Mailgun
主な機能
- ユーザー認証
- データの記録、編集、削除
- グラフによる閲覧(chart.js)
開発で苦労した点と学び
1. Turboとの格闘
Rails 7からデフォルトで導入されているTurboについて、最初は理解に苦労しました。
特に以下の点で悩みました:
- Turbo Framesの第一歩
- Turbo Streamsでの動的更新の実装
- Turboを使用する際の弊害(いまだによくわからないことが多い)
Turboについてはこちらを参考にしました
2. Chart.jsでの可視化実装
データの可視化において、Chart.jsを使用しています
苦労したのは以下の点
- 理想的なグラフデザインの実現
- 動的データの更新
- レスポンシブ対応
3. Railsらしい実装への挑戦
「Railsらしさ」を意識しましたが、いまいちわかっていないような…
現在の私の素朴な理解としては
- 可能な限りシンプルに記述する
これに尽きるのかなぁと思っています
今後の開発予定
現在、以下の機能を順次実装予定です:
- プッシュ通知機能
- AIによる分析・洞察機能
- その他分析のための切り出し
まとめ
サービス開発を通じて、技術力の向上だけでなく、実践的な開発経験の重要性やユーザーに使ってもらえる嬉しさなどを身を持って感じることができました
現時点で気になるところ、改修したいところはいっぱいあり、まだまだまだまだ発展途上のサービスですが、ぜひBest Condition Noteをご覧いただき、フィードバックいただけると幸いです。
主な参考資料
作ったサービスのURL
Discussion