🍏

副業で開発したアプリがリリースされた

2024/11/04に公開

1年かけてアプリをリリースした

今日もまたポエムを書こうと思った。noteとかの方がいいと思ったが、Tech系なのでzennで書きます。俺ちゃんは1年前にとある会社の社長さんと知り合った。そこでマッチングアプリなのかSNSなのかよくわからないアプリを作るのを手伝ったおった😇

最初は何もわからんかった🥰
「はい私は頭が悪いです笑」

去年の10月ごろ東京に引っ越してきて、Sierの仕事をしながら朝早起きしたり仕事終わった夜や土日、祝日に開発をやっていた。

悩みだったこと

学生とかが手伝ってくれたが途中で抜けていった😨
ある日他にも外国人が手伝ってくれたが、riverpod generatorで書いてくれない💦
「StateProvider使って...非推奨やろ!」

なんとかならんか💦
である日昔MENTAで先生をしてくれた地元の福岡でSESのお偉いさんが副業に入ってくれた。DBに強かったので、Cloud FirestoreからSupabaseに移行してRDBの知見を活かしてDB設計をしてくれたので開発が進んだ。

これがMENTAね💚💙

ポンデリングさんにはお世話になった。当時何もわからなかった僕に詳しく教えてくれた。
https://menta.work/

他にもDynamic Linksこれは来年にはサービス終了ですが、招待機能が必要だったので実装してもらいました。

で開発が進んでいくのだけどコロコロ使用が変わるので詰まる時期があった( ; ; )
「使用は俺が決める。変えるな🔥」

🐦Dashくんが現れた

DBに強くて、Flutterの経験が2年あるDashくん(仮)が実装が早くて、よくないソースコードを綺麗にしてくれて品質の改善に努めてくれた。良い方法もどんどん提案してくれた。

本業ではあまりコード書いてないらしく、副業でRiverpod v-2やDart3.0に触れることができたので、スキルアップする機会を提供できたのではないかと思う。

😨でもまた詰まった

なぜかまた進まない💦
クライアントがコロコロ変えるので、MVPにしろと交渉した。機能を削ってリリース。でもなかなか終わらないどうしょう💦

クライアントと交渉して最強の傭兵使ったら開発早くなるっていってブルーアイズホワイトドラゴンを私が作った傭兵国家アウターヘブンから送り込むことにした。
iOSの経験が長いエンジニア11年で、Flutterがリリースされた頃から触ってる人です笑

https://note.com/jboysan/n/n0280af551444

会社をやりながらフリーランスとして働いている強強さんでした。ニッチなDartのパッケージに最近興味を持っていて、プロジェクトで使ってもらいました。多分使っている人は国内には、あまりいないのでは?

これね!
https://dartsignals.dev/

Webの開発が必要な場面が出てきたのでホスティングサービスも導入した。これを使うといい感じで、Flutter Webが使えた。
https://www.cloudflare.com/ja-jp/developer-platform/products/pages/

Supabaseをメールアドレス&パスワードログインで使っているのですが、パスワードのリセットを使用するには、SMTPなる設定が必要でそちらのご対応も私の傭兵さんにやっていただきました。Firebaseだとないけどな。。。。

https://supabase.com/docs/guides/auth/auth-smtp
https://zenn.dev/daimyo404/articles/3fefe4ef2d9500

リリースの審査出したが...

リジェクトされました🥰
Appleめ💦

最近は、SNSのアプリはブロック機能、通報機能をつけてないとダメらしい💦
なので追加して審査に出すとリリースできた😭
長かったよー!!!

プロジェクトの管理はどうしていたのか?

最初は、Trello使ってましたが、GithubProjectに変えました。エンジニアなので全部Githubに集約した方がタスク管理しやすいだろうと。開発手法はアジャイルでやってましたね。本業だとGithLabをみんな使っていたので、MRチャンネルなるのをSlackで作って、そこでGithubのPRならぬMRを出して、コードレビューをした後にApplovedを俺ちゃんか担当者がしたら、マージしてブランチ切ってマージするのを繰り返す開発をしました。

https://www.uncovertruth.co.jp/dx-accelerator/blog/articles/github/056/

Github Actionsを途中から導入したのですが、Lintのチェックを自動化したおかげで、pull requestを出したときに不要なimport文や変数が残っているとCIがコケてエラーが出るように設定しました。
https://github.co.jp/features/actions

でもこれ慣れない人には、邪魔だったかも。時々CIがこけると、「CIコケてるので直してください😇」と言っておりました。

コードの品質も上がった気がします。

Flavorで環境分け

ProdとDev環境で本番用とテスト用のSupabaseとFirebaseを用意して、リリースしたアプリの環境に影響を与えないように対策しました。アウターヘブンの傭兵が2時間で終わらせてくれたので、安全にソフトウェアの開発ができるようになりました。

最後に

どんなアプリを作ったかはまだ宣伝する気がないようなので、私も記事でご紹介しないことにしました。まあそのうちイベントを開催したりSNSで宣伝してお披露目すると思います。リリースされた後に流行ってくれるといいが....

今はiOS版しかリリースできておりませんが来年には、Android版も出したいと思っております。Jboyという存在が世の中に貢献できてのかなと思いました。途中からはPMやりながら、Figmaでデザインしたりmiroでアイディをまとめたりしてましたね。

フル出社の会社は口頭でいいですが、我々はフルリモートで参画していたのでオンラインで使えるツールを活用してコミュニケーションを行いプロダクトをリリースしました。良いツールを作ってくれた企業さんには感謝ですね。Notionも一応使ってた。

https://www.figma.com/files/team/1055441302338345017/recents-and-sharing?fuid=1055441295797137321

https://miro.com/app/dashboard/?gclid=Cj0KCQiA_qG5BhDTARIsAA0UHSJ6PqtIRL4D6liCiRx7EEudojm_1tvbVKYKYlPqDRuu5GDllO6BVYcaAtYbEALw_wcB&adgroupid=149437278148&utm_custom=18260334861&gad_source=1&utm_campaign=S%257CGOO%257CBRN%257CWW%257CJA-JA%257CBrand%257CExact&utm_term=miro&location=1009302&utm_source=google&utm_medium=cpc&utm_adgroup=&device=c&matchtype=e&gclsrc=aw.ds&utm_content=620209521819

https://www.notion.so/ja

Discussion