アプリ開発

Bingo! projectの企画書

当時、わくわくビンゴを作るにあたって作成した企画原案をそのままお送りします。

わくわくビンゴ

https://bingo.eni-eni.com/

🌷「yo」

UserStory

—Usage—–
オンライン忘年会で使われる。
100人ぐらいまでの人数で使える。

—bingoのルームを作るまで—–
主催者がルームを作る
参加者は主催者からルームのurl(QRコード)をもらってビンゴカードを手に入れる。

—bingoがはじまった!——
主催者がガラガラを回す。(画面共有して参加者に見せる)
参加者:
ビンゴカードの既に出た数は光る
ビンゴカードをタップして穴を開ける。
主催者は前に出た数の一覧が見れる。

—リーチになった!—–
参加者:リーチのラインが可視化される。
主催者:リーチの参加者の一覧が見れる。

—ビンゴ!—–
全体に通知飛ばす。
主催者:ビンゴになった順に一覧が表示される

—ビンゴになったら….—
カードがグレーアウトするorそのまま続けられる(1回上がった人は管理したくない)
通知だけ受け取る
カードを開けれるだけ

Functions

  • 部屋のidを作る -> 参加者が紐づく(入室する)
  • 部屋のurlを作成
  • 入室(名前とクレジットカードの番号を。。。)
  • ガラガラ(数値をランダムで取得する)
  • カードを光らせる(有効なbacknumber)
  • リーチになったら、該当のラインが何かしらのエフェクト & リーチの人の一覧(主催者が閲覧可能)
  • ビンゴになったら該当のラインに何かしらのエフェクト -> 主催者がビンゴになった人を昇順で閲覧可能
  • 通知 -> 数字, リーチの時, ビンゴの時

TODO

  • QRコードの生成
  • 短縮URLの生成
  • URLをクリックでコピー
  • Loaderを出す

Design(UI/UX)

主催者

  • ルーム作成 /room/create
  • ガラガラ
  • バックナンバー
  • リーチ一覧
  • ビンゴ一覧 -> /room/:id/owner

参加者

  • 入室画面 /room/:id/join
  • ビンゴカード /room/:id/user/:id

FireStore

ルーム

sample

{
    "room_id": "xcwefkljfdiucmne14kdj",
    "name": "株式会社エニエニ忘年会",
    "users": [
        "userxcwefkljfdiucmne14kdj1",
        "userxcwefkljfdiucmne14kdj2",
        "userxcwefkljfdiucmne14kdj3"
    ],
    "back_number": [
        1, 2, 3, 4, 5
    ]
}

参加者(ユーザー)

sample

{
    "user_id": "userxcwefkljfdiucmne14kdj",
    "name": "太郎",
    "is_bingo": true,
    "is_reach": false,
}

作ってる人たちについて

1人で続かなかった個人アプリ開発が1年続いた話

個人開発は最強だけど…

エンジニアとして自分のスキルを磨くための方法はいくらかあります。書籍を読む、コードを読む・書く、アプリを作るなど。その中でも最も効率的でかつ、キャッシュを生み出せる可能性があるのがアプリを作ることです。今では個人開発によって生み出されたアプリが月に100万を稼ぐ、1億以上の金額でアプリが買収されるなど、非常に夢があります。

「個人開発」からはじめたサービスで月140万円の売上を達成するまで

https://note.com/iritec/n/nfc6ca90ca22f

Twitterで匿名質問「Peing」買収 公開わずか1カ月で

https://www.itmedia.co.jp/news/articles/1712/21/news060.html

とはいえ、短期間でアプリをリリースすることは非常に難しいです。アイディアがシンプルなものであれば、実装期間も短期間になるかとは思いますが、日々の業務など、やることは他にもたくさんあります。1日中作る訳にもいかないので、個人開発でアプリを作ろうと思うと、割と時間がかかったりします。

自分は、様々なことに興味を持てる一方で、一つのことに長く集中的に取り組むということが苦手です。「個人開発で一発当ててやろう!」と思いはありつつも、gitにレポジトリを用意して、数回のコミットでアプリ開発が終了してしまうということがザラです。

アプリが完成して世の中に公開出来たことは一度もありませんでした。続かないことがダメだと分かっていても、どうしもないとモヤモヤしていました。。。

何か続ける方法はないものか

色々と脳内で試行錯誤した結果、一緒にアプリを作ってくれる人を見つけるのが良いんじゃないかという案が思いつきました。一人だと続かないことでも、二人ならお互いに時間をとってやる以上、拘束力もあり、責任感もあります。切磋琢磨できる可能性もありますし、自分が苦手とする分野を担当してもられる可能性もあります。

ということで、一緒に作ってくれる人を探すことにしました。最初はTwitterなどで呼びかけてみようかなと思ったのですが、陰キャの自分にはハードルが高かったです。自分の人脈で同業者を探した結果、ろくがいたことを思い出して、こちらに帰省してきたタイミングで誘ってみました。

プロフィール

プロフィール

何と!偶然にも、ろくも同じような悩みを抱えていたので、「やってみるか」と即決定しました。念願の一緒にアプリを作る人を見つけることが出来ました。今思うと、本当にラッキーだったなと思います。人脈って大事だなぁと感じます。

開発の進め方

ろくは他県に住んでいる、コロナ禍ということもあり、開発は基本的にZOOMを使ってリモートで行っています。土日のどちら毎週、または隔週で4~6時間、時間を確保して開発をしています。最近は作ることが習慣になってきたので、平日にも開発をすることもあります。まずは思いつきのアイディアを元に、業務で培った

  • 誰のためのアプリなのか
  • ペルソナの作成
  • ユーザーストーリーの作成
  • UIの作成 / UXの検討
  • 技術選定

などを開発の初期にある程度、決めています。目指すべき姿の認識を合わせ後にコードを書き始めます。とはいっても、ずっと集中してコードを書いている訳ではなく、基本、楽しくおしゃべりしながら進めています。「うーん、今日はダメだなぁ」という時はゲームをしたりする時もありました。

ゆるすぎず、ガチすぎずの温度感が自分には凄く合っていました。変にプレッシャーもなく、楽しく取り組めます。

気がつけばアプリが2つリリースされていた

1年の開発を通して、2つのアプリをリリースすることが出来ました。途中で開発を止めた未完成のアプリを含めると1年で4つのアプリを作りました。今まで自分でアプリを作ってリリースした経験がなかった自分にとっては、大きな大きな一歩を踏み出すことが出来て、「リリースしたんだ!」という自信が湧いてきます。

わくわくビンゴ

https://bingo.eni-eni.com/

planning-poker

https://planning-poker.eni-eni.com/

アプリを作る度に上達している

最初のアプリを作った時は、ドメインが…DNSが…レンタルサーバーが…SEOが…デプロイが…と分からないことだらけで、非常に時間がかかりました。普段の業務ではこの領域を触ることはあまりありませんし、個人でアプリを作っていた時には、ここまで辿り着けず挫折してしまっていました。

今となっては、スムーズに設定が出来るようになりました。クラウドサービスの選定の幅も広がりました。また、知識の幅が広がったことで結果的に業務にもアプリ開発を通して得た知見が生きています。

結論

個人開発は一人だとつらい。一緒に作ってくれる人を見つけて取り組むと楽しい上に捗るので最強🎉