小さな困りごと管理サービス「ちいこま」をリリースしました
はじめに
「ちいこま」という自作サービスをリリースしました🚀
これは私が通っているフィヨルドブートキャンプの最終課題「自作サービス」の一環としてリリースしたものです。 今回はWebサービスの紹介と作成経緯等についてまとめたいと思います!
目次
自己紹介
ぴーと言います。2021年の4月からフィヨルドブートキャンプでプログラミング学習を始め、2022年3月に本サービスをリリースしました! 「自作サービス」リリースまで約1年、学習時間でざっと1300~1400時間近くRubyを始めRuby on Rails・Vueなどを学習しました。
作った経緯
まず自作サービスを作るにあたり、自分の興味のある分野でサービスを作ろうと決めていました。 旅行・スポーツ・メンタルヘルス・英語学習などの中から案をいくつか考えていましたが、どれもイマイチピンと来ない。 そんな時、昔見たこのツイートを思い出し「セルフケア」に関するサービスを作ろうと思いました。
このまんが、鬱病や精神病の有無に関わらず全ての人に最後まで読んでほしい。自己虐待については正直全ての人に必ずあると思う。わたしも去年これに気付いて自己犠牲の選択をやめる努力をしている。自分を一番大切にすると言うことはどう言うことかのヒントがあります。https://t.co/9Vc7QqfTqI
— 蛇龍どくろ (@jaryudokuro) 2021年1月16日
元のツイートにもありますが、「セルフネグレクト(自己虐待)」とまではいかなくても誰しも少なからず自分のことをおざなりにしてしまう傾向があると思います。
「他人からの頼まれごと」や「やらなきゃいけない(Todo)コト」は手をつけやすいけど、「自分だけのため」・「小さな困りごと」となるとついつい後回しにしがちな状況は多いと思います。
普段忙しく、自分のことを後回しにしがちな人が「自分自身の問題」や「解決したかったこと」に向き合うきっかけになるようなサービスを作りたいと思い、自分のためだけの小さな困りごと」管理サービス「ちいこま」を作ることにしました。
ただ「作りたいサービス」が先に来て、後から技術的なことを検討したので「これってTodoリストに近いのでは…?技術的に少し見劣りがするかも…?」と技術面の問題では少し悩みましたが、@ken-c-loにさん、@machidaさん、@komagataさんにエレベーターピッチの段階でたくさんのアイディア・改善案を頂き、普通のtodoアプリにはない独自機能(1週間の振り返り・ちいこまにポイントをつけるなど)を入れることになったので、その後は技術面の問題もあまり気にすることなくサービス作成に取り組めました!
サービスの紹介
「ちいこま」のオススメ機能を紹介したいと思います。
日替わり機能
エレベーターピッチを仕上げていく中で、
・ セルフケアが必要な人は「自分の願望・困りごとに気づきにくい」傾向がある。
・問題は「気づく」→「放置しない」→「解決する」の順で解決するため、そもそもの問題があまり思いつかない・気づかないと解決にまで至りづらい
という意見を頂き、アプリ側からちいこまを日替わりで提示(1日/1件)する機能を実装しました!
ちいこまに順番をつける
小さな困りごとに「 困り度・経験する頻度・対策コスト」の観点からポイントをつけることで、「どの問題が1番困っているか」・「早く解決すべき問題はどれか」を数字で示すことができ、問題に着手しやすくなるようにしました。
「時間管理のマトリックス」(会社の研修とかでよく見るやつ)を参考にしてます📝
1週間のがんばり
過去1週間で「登録したちいこま」・「解決したちいこま」の合計ポイントを表示する機能を実装しました。 「このポイント分だけ自分の問題に気づけた!解決できた!よくやったぞ〜〜!」と自分のがんばりを目に見える形で確認できることで、モチベーションアップに少しでも繋がってほしいという思いで作りました。 グラフ部分は週ごとの比較表示になってます🌟
その他の機能についてはGithubにリポジトリを挙げているので、気になる方はぜひ見てみてください〜!
技術スタック
- Ruby on Rails 6.1.4
- Ruby 3.1.0
- Vue 3
- CI/CD
- GitHub Actions
- Heroku
開発について
かかった期間
エレベーターピッチの提出からペーパープロトタイプの作成・実装・デプロイ・リリースまでで約3ヶ月かかりました。
進め方
フィヨルドの開発プラクティスと同様に、GitHub の Projects を使ってタスク管理を行い進めました。
開発プラクティスの時はissueも既に用意されている状態で、自分の担当分のissueをこなしていく進み方ですが、今回は「issueの登録」も「手を付ける順番」を決めるのも全て1人で行います。
「これでいいのかな?」と手探りで進めている感がありその点は少し難しかったです。
進捗報告会
「自作サービス」には1週間に一度の「進捗報告会」があります。
そこで「今週やったこと」・「次週やること」・「その他気になる点」の共有が出来たため、「直した方が良い問題」を早めに修正する場があったのは有り難かったです〜〜
あとは、他のフィヨルド生の進め方も知れるので勉強になりました。(皆レベルが高い…!)
大変だったこと
0から物を作ること
これまで「0の状態からwebサービスを作り上げる」という経験をした事がなかった為、「全てが初めて全てが手探り」の状態がずっと続いていたのは精神的に大変な面でした。特に最初の内は「とりあえず出来るところから始めるぞ!」の精神で進めていたせいで、1コミットの粒度が大きくなりすぎたり、無駄なマイグレーションファイルが増えてしまい、綺麗とは程遠い制作過程になってしまったのが心残りな点です。 リリースを終えた今はもう少し綺麗で無駄のない進め方でサービスを作る事が出来ると思うので、いつかリベンジしたいと思ってます…!
RailsとVueの連携
「最悪全部Railsで実装してしまおうかな…」と当初考えていたくらいVueとJavaScriptに苦手意識があり、「せっかく学習したから一部くらいはVue化しないと」という思いでVue化に取り組み始めました。
Web APIの作成も行ったことがなかったため、まずはRailsでのAPIの作り方から学習し直しました。
Vue化を進めているうちに「一覧ページだけVue化してるのも変だな」・「ボタン部分だけrailsで実行ってかなり変だな」と色々と気になるようになり、最終的にVueを1から復習し当初の予定よりも大幅にVue化しました。
大変だったけど、Vue化に取り組んだ事で今まで苦手意識があったものを克服できたので良かったです。
CSS
自作サービスを始めた当初こんなにcssを書くとは思っていませんでした…。フィヨルドの最初の方のプラクティスで書いた以来だったため、かなり抜けている部分も多く、簡単な実装も思ったようにいかない状態が続いた時は地味にストレスが溜まりました😇
ただ、フロントエンドが整い一気にwebサービスの見た目に近づいた時は凄くテンションが上がりサービスに愛着が湧いたので、「フロントエンドはとても大事!」ということも実感できました。
楽しかったこと
基本的に全て楽しかったです!「開発プラクティス」から始まり「自作サービス」と今まで勉強していたことが実践に繋がっているのを感じられて、夢中になって取り組む事が出来ました🚀「自作サービス」は基本的に1人で進めていく時間が多いですが、「またwebサービス作成に挑戦したい!」と思うくらいには楽しかったので、特に集中力も途切れることなく進められた気がします!
まとめ
「ちいさな困りごと」というニッチなサービスではありますが、興味を持っていただいた方は是非一度登録して利用していただけると嬉しいです。
改善点や要望などありましたら、@takapi61にDM等お願いします✉️
そして自作サービスリリースに至るまでたくさんの相談・添削をして下さった@machidaさん、@komagataさん、@ken-c-loさん本当にありがとうございました!
無事に自作サービスリリースまで出来たので、残すは就職活動頑張ります👀