はじめての個人開発〜hayaoki_girlsカレンダー 〜
はじめに
2023年1月28日(土) にTECH PLAY女子部向けにWebサービス「hayaoki_girlsカレンダー」をリリースしました。
これが私にとって初めてリリースまで辿り着けた個人開発になります。MVP完成までの開発期間は約3ヶ月間です。
サービスを思いついてから実際に最後まで作り切る経験を初めてできたので、過程を記録兼思い出としてまとめておこうと思います。
hayaoki_girlsとは
TECH PLAY女子部内での朝活を、hayaoki_girls と呼んでいます(概要については、こちらの記事をご参照ください)。2020年1月から有志でスタートして私は2020年秋頃から雑談目的で参加するようになりました。以前は Zoom で実施していましたが、2022年9月から Discord に実施場所を移しています。
朝活の流れ
雑談タイムの終わりはだいたい「今日もよろしくお願いします〜」の挨拶で終わる
ミュートで各自好きなことやる時間では、Discord から退室して作業される方もいる
特徴
途中参加・途中退出自由
やることを宣言したり、やったことを報告する必要なし
参加できるときに参加すればOK
好きな時間帯に参加すればOK(5時〜9時までずっといなくていい)
#hayaoki_girls のハッシュタグをつけて「おはよう」「起きた〜」ツイートするだけでもOK
課題
個人的に hayaoki_girls の課題として以下の2つを感じていました。
1. 参加メンバーが少ない
基本1〜2人、多くて3人
参加人数が少ない、メンバーが固定化してることが悪いわけじゃないけど、せっかく人数がいっぱいいるコミュニティ(2023/02/27時点 Slack: 455名, Discord: 102名)だから、hayaoki_girls が限定的な存在になってるのはもったいないと思っていた
hayaoki_girls をメンバーと交流するきっかけに使ってほしい
hayaoki_girls は自分にとってとても思い入れのある存在なので、自然消滅するのを避けたい
2. 参加するまで人がいるのか分からないから、新しい人が入ってきにくい
「Zoom だと入るまで人がいるか分からないし、いざ入ってみて誰もいなかったとき切ない、寂しい、悲しい」という意見が hayaoki_girls の参加メンバーからあがっていた
実施場所を Zoom から Discord に移行して視覚的に人がいるのを分かるようにしたことで、私を含む既存メンバーの満足度は上がったが、新しい人が増えるのには繋がらなかった
Slack に「いま Discord にいま〜す」と投稿してみたりするけど人数に変化はない
一時的にタイミングが合ってお久しぶりの人や新しい人が来てくれたけど継続参加には繋がらなかった
毎回投稿するのは正直手間だしめんどくさい
理想
上記の課題を解決するには、事前に参加人数が大まかにでもわかる仕組みがあれば良いのではと考え「hayaoki_girlsカレンダー」を思いつきました。
参加人数が分かるカレンダーがあれば、hayaoi_girls に興味はあるけどどうしようかなと思ってる人が、「この日は人数多そうだから参加してみようかな」と思えるのではないかと考えた
初対面で一対一だと緊張するし、意を決して勇気出して参加したのに誰も来なかったら心折れるけど、人数多い日があらかじめ分かっていれば、誰も来なくて心折れる確率は減らせる
開発で大変だったこと
N予備校の教材(2022年度版 第3章 サーバーサイドプログラミング入門)を参考に開発しました。
Gridレイアウト
ホットペッパービューティーを参考にした
Pugの記法
個人的に公式サイトだけでは分からない部分もあったので個人ブログも参考にした
変数名や関数名の命名
日付関係の変数名がどれも似た感じになってしまい、「これはどんなデータが入ってる変数だっけ?」と頻繁になってた
命名の難しさを痛感した(端的に表現する英語が思いつかない)
日付計算
ロジック考えて素の JavaScript で愚直に書いてた
日付の足し算のロジックはなんとかできたが、日付を遡る計算のロジックをどうすればいいか分からず困ってたら、パートナーからDate Obj の set メソッドの存在を教えてもらった。130行のコードが数十行にまで減ったのは爽快だった
DB対応
最初はJSONファイルにデータを保存する形をとっていて、Rendar にデプロイした
変更内容が反映されないバグがあり、PostgreSQL を用いてコードを書き直すのに時間かかった
出来上がったもの(MVP)
カレンダーページ
Basic認証でログインするとカレンダーページが表示される
ユーザー名、パスワードは TECH PLAY女子部内でのみ共有
今日の日付が先頭に来る
入力フォーム画面
2023年3月1日(水) 8:00〜8:10の数字「0」をクリックした場合
「参加」をクリックするとカレンダーページに遷移する
数字がひとつ増えて「1」になる
感想
リリース当日にちょうど TECH PLAY女子部オンライン新年会があり、そこでhayaoki_girlsカレンダーの紹介をしたら、その日のうちに使ってくれて翌日にはフィードバックをもらえて、すごく嬉しかったです。
作ったものを実際に触ってもらえるのって、こんなにテンション上がるし感動するんだね。
まだまだ追加したい機能もあるので、これからは改修を続けながら、使いやすいものにしていきます!
hayaoki_girlsカレンダーを通して、hayaoki_girlsの参加人数が増えて、hayaoki_girlsにコンスタントに人が参加してる状態が作れれば、メンバー同士が気軽におしゃべりする機会が増えるので、そういう状態を目指して開発頑張ります!
リリースして1ヶ月が経ち、最近は平日でも参加者が3人になることが多く嬉しいです。休日は4人になることもあります。また、hayaoki_girlsカレンダーの参加ボタンを押してなくても数字が「1」になってるのを見て当日参加してくれる人もいらっしゃったので、hayaoki_girlsカレンダーによって良い変化が起きて嬉しいです。
おわりに
sister 運営のみなさん
キャリシスに参加したのをきっかけに、「作ってみたいアプリを思いついてそれを作り上げる」という、できるか分からない状態で初めて周りに宣言をする経験ができました。
また 技術的な発信をするのに Twitter などではハードルが高くできずにいたので、Discord で開発過程を発信する練習に活用させてもらい大変ありがたかったです。ありがとうございました。
パートナー
ロジックに悩んだ時やコードに落とし込めずに詰まった時にアドバイスをくれてありがとう!
TECH PLAY女子部のみなさん
hayaoki_girlsカレンダーを紹介したときにポジティブなリアクションしてくれたり、すぐ使ってくれて色んなフィードバックもらえて嬉しかったです。ありがとうございます。継続して使ってもらえるよう改修頑張ります!