小さな子どもを持つ親が抱えがちな「子どもの写真を撮るのは好きだが、整理するのが面倒」、「祖父母から頻繁に「孫の写真を送れ」と催促される」といった悩みの解消を目標としたアプリケーションです。
アルバム(画像・文字)、思い出の場所(GoogleMap)、投稿、身長・体重(グラフ)の投稿で記録を一元管理できるほか、別の保護者(ユーザー)と連携し、子どもの成長を共有できます。
https://childport.net/
上記URLの「簡単ログイン」からテストユーザーとして閲覧可能です。
- Ruby:2.6.2
- Rails:5.2.3
- GoogleMap(Maps JavaScript API)
- AWS(EC2、RDS、S3、VPC、Route53、SES、ALB、ACM)
- Unicorn
- nginx
- minitest
- RSpec(現在、minitestからテストを書き換え中です。)
- rubocop
◎ユーザー登録、ログイン機能全般◎
- 一般的なユーザーログイン機能です。
◎画像アップロード機能・記事投稿機能全般◎
- 「アルバム」というボタンから、子どもの成長の記録を画像とともに保存することができます。
- 記事は文字数制限を設定しており、残り文字数がリアルタイムで表示されます。
- 画像のサイズは自動で最適化されます。
- もちろん、記事一覧表示の際のページネーション機能も実装しています。
◎身長・体重のグラフ表示機能(chart.js)◎
- 「身長・体重」というボタンから、グラフを入力・表示することができます。
- 入力したデータはカレンダーを使って検索をした後、編集・削除ができます。
◎GoogleMapを活用したマーカー表示機能(Maps JavaScript API)◎
- 「思い出の場所」というボタンから、GoogleMap内にマーカーの作成・表示ができます。
- マーカーを作成する際に入力したコメントは、一覧ページにあるマーカーをクリックすると表示されます。
- また、一覧ページでは存在するマーカーが常に表示されるよう、マップに対し、自動拡大機能を付けています。
◎子ども別のデータ管理機能◎
- 一人のユーザーが複数の子どものデータを持つことができ「各種設定」→「子どもの一覧」から表示を切り替えることができます。
- 上記の記事投稿やグラフ投稿は子どもごとに管理することができます。
◎別の保護者(ユーザー)との連携機能◎
- 子どもごとに設定したパスワードにより別の保護者(ユーザー)との連携することができます。
- パスワードはメール(SES)により送付することが可能です。
- また、上記の「アルバム」や「身長・体重」の項目の編集権限を作成者に限定しているため、連携したユーザーに編集・削除される心配もありません。
- Google Maps Javascript APIを使用した機能の充実
- YouTube Data APIを使用した機能の実装
- 定刻にユーザーへ通知を送る機能の実装(AWS LambdaとLINE Notifyを想定)
- ローカル環境でDockerを用いた開発環境の構築
- CI/CDパイプラインの実装