イクチオカップ

ゲーセン店員シミュレーター

https://github.com/thirdlf03/hackz-Ichthyo-backend

TypeScript

React

AWS

Python

MySQL

ゲームセンターに来店しやがるクソ客を燃やします。

Cookie777

thirdlf03

やぎさんバスピス

紅茶ふりふり

推しアイデア

チャットベースのゲームにして、音声認識ができるようにしました。

作った背景

ゲーセン店員3人でストレス発散したかったので、客を燃やします。

推し技術

・Web Speech APIによる音声認識 ・terraform

プロジェクト詳細

はじめに

今回初ハッカソンのメンバーが2人でバックエンドと、フロントエンドをやったことないメンバーがフロントエンドを作成しました。

メンバー1人はハッカソン開始当日にgithubのアカウントを作成しました。branch切ったり、pushしたりできるまで成長しています。

初心者3人とルーブックキューブおじさんでなんとか開発したので、暖かい目でみてください。

リポジトリ

フロントエンド https://github.com/kyiku/hackz-Ichthyo

バックエンド https://github.com/thirdlf03/hackz-Ichthyo-backend

インフラ(AWS, Terraform) https://github.com/thirdlf03/hackz-Ichthyo-infra

ゲーム概要

image ゲームスタート!

image

お客さんが来店してくれます。

image

こんな感じで楽しいチャットができます。 gemini APIを使ってデータベースにあるプロフィールから人格を作っています。

image

バルス!!!!!!!

使用技術

フロント、バック、インフラに分けて説明します。

フロントエンド

  • Reactを使いました。
  • バックエンドとの繋ぎこみも初めてやりました。
  • 初めてReactを書きました。とてもむずかしかったです。

バックエンド

  • 初心者二人でルービックキューブおじさんに教わりながら書きました。
  • fastAPIという初心者の私たちは聞いたこともないフレームワークを使いながらpythonで書きました。
  • pythonの中にSQL文なんて入れっちゃたりしました。

インフラ

ルビおじです。好きな回し方はTパームです。 R U R’ → U' → R' → F → R → R → U' → R' → U' → R U R'  → F'

アーキテクチャ図 image

今回はTerraformでAWSの環境を整備しました。 CDをGithub Actionsを使っています。今日の朝から慌ててCD整備したので、うまくいく保証はあんまりない...

本番環境のRDSとは別に開発環境用のRDSも使用しているので明日コスト確認が怖いです><

技術の無駄遣い

  • かの有名なthirdlfくんはルービックキューブを解けるようになってもらいました。かなり無駄遣いポイントだと思います。 image

推しポイント

  • 今回はgithubをかなり丁寧に使うことを意識しました。
  • 音声入力とテキスト入力のどちらも採用しました。

苦労したところ

 初心者二人(やぎさんバスピス、紅茶ふりふり)より

  • 初めて触る言語やフレームワークだったのでとても難しかったです。ルビおじに共有してもらった解説やチュートリアルを経てAIの力を借りずに何とか書くことができました。
  • 初のチーム開発にあたってGitHubも今回初めて触ったのですが、チームで進捗状況を共有しながら作業ができることに感激しました。
  • 経験者二人に初歩的なことも含めたくさん助けてもらいました。経験者二人も初心者の世話にさぞ苦労したことでしょう。

 ルビおじより

  • alembicを使ったSQLAlchemyのマイグレーションは初めてやったので、なかなか反映されずに苦労しました

 

おまけ

【クソお客様リスト】  現役ゲーセン店員が執筆したお客様リストの一部です。 お客様の名前はチーム名の "ヴォルデモートで語れ" にちなんで某物語要素を含んでいます。お客様名はフィクションですがプロフィールはノンフィクションな所もポイントです。 image

【クソお客様撲滅魔法】  特別演出が出る魔法のリストです。 image

感想

ゲーセン店員の苦悩やストレスをゲームに昇華できました。これからも笑顔で接客できそうです。

Cookie777

@Cookie777