「気になった匿名投稿を見つけた。どんな人なのか気になる」
「匿名で意見を吐き出したいけど、もし共感してくれる人がいるなら繋がってみたい」
と思ったことはありますか?
そんなニーズに応えるべく(そして私が使ってみたく)、匿名だけど繋がりを持てるアプリ「匿名フレンド」を作ってみました。
匿名フレンド
開発のきっかけと背景
世の中に出回っているブログサービスやSNSは、実名のものと匿名のものに分かれています。ここで言う実名とは、誰が何を投稿したかがわかるという意味で使っています。
- 実名サービス: アメブロ、Instagram、Facebook、Xなど
- 匿名サービス: はてな匿名ダイアリー、5ちゃんねる、ガルちゃんなど
匿名だけど、気になった誰かと繋がれる。そんな場を用意してみたく、アプリを作りました。
アプリの機能と特徴
匿名で投稿できるブログです。ログインなしでも使えます。
それ以外に、このアプリの特徴として「フレンド機能」があります。
・投稿に対して「フレンドリクエスト」が行える
・リクエストが送った相手に承認されると、フレンドとなる
・フレンドはお互いがどんな投稿をしているのか閲覧できる
技術スタック
・Rails 7
業務でRailsに触れていたこともあり、個人開発でもバックエンドとして使用しました。別のフレームワークも学んでいますが、Railsは描きやすさとコード量の圧縮が素晴らしいです。
・AWS
構成図はこんな感じです。EC2がパブリックサブネットに置かれているのが気になりますが、ローカルからsshでアクセスできるようにしたかった+SGで管理できるから、という理由で配置しています。
インフラはCloudFormationで管理しています。構成やインスタンスタイプを変えたりするのがとても楽です。
Auroraが予想以上に高くて他の手段を検討中...
(追記)
結局この構成は辞めて、Auroraを使わずEC2にDBサーバーを立ち上げる方法を採りました。ついでにEC2のスペックも過剰だったので、現在のアクセス頻度で動く限界まで下げました。
学び
初めてのwebアプリ開発ということで、色々学びがありました。
- 考えることがメチャクチャ多い
最初は「Railsで開発して、インフラはAWS使うぞ」くらいの気持ちでと意気込んでいましたが、蓋を開けてみると、環境構築、フロントのデザイン、コストの見積もりなど、「アプリをリリースする」までにかかる手間暇が想像以上でした。 - モチベーションを保つのが難しい
アプリのアイデアを思いついた時がモチベーションのピークで、最初は勢いに任せてコードをかきまくっていましたが、時間が経つと「このアプリ、ほんとに使われるのか...?」と疑心暗鬼になったり、実装場でぶつかる課題がいつまでも解決しなかったりと、だんだん開発のモチベーションが下がっていきました。この辺は今後も課題になりそうです。
今後の展望
今後は、投稿に対するいいねやコメント機能、フレンド同士のDM機能などを開発予定です。
しかし、自分が作ったサービが世界中どこでも使えるようになるというのは嬉しいですね。初めてドメインを発行してアクセスしたときは感動しました。
気軽に投稿できるので、気持ちを吐き出したいときも適当に呟きたい時もぜひ!