Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
謎コイン
Search
ようかん(YosukeInoue
August 25, 2023
Programming
0
52
謎コイン
ようかん(YosukeInoue
August 25, 2023
Tweet
Share
More Decks by ようかん(YosukeInoue
See All by ようかん(YosukeInoue
今から始めるLINEBot入門
inoue2002
0
87
未来の投げ銭箱
inoue2002
2
54
LINEでAI占い師に相談できる “AI占いくん”の開発/改善の過程
inoue2002
0
260
LINEトークルーム広告v1
inoue2002
0
42
レシピ保存くん
inoue2002
0
370
初めてのServiceMessage
inoue2002
0
89
トーク履歴を分析してみる
inoue2002
0
9.2k
LINEで使えるAIチャットBot “AIチャットくん”とLINEAPI
inoue2002
0
65
LIFFで動く割り勘アプリTATEKAをリリースしてみた話
inoue2002
0
860
Other Decks in Programming
See All in Programming
PagerDuty を軸にした On-Call 構築と運用課題の解決 / PagerDuty Japan Community Meetup 4
horimislime
1
110
Amazon Neptuneで始めてみるグラフDB-OpenSearchによるグラフの全文検索-
satoshi256kbyte
4
320
カラム追加で増えるActiveRecordのメモリサイズ イメージできますか?
asayamakk
4
1.5k
CPython 인터프리터 구조 파헤치기 - PyCon Korea 24
kennethanceyer
0
240
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
830
Identifying User Idenity
moro
6
7.8k
WEBエンジニア向けAI活用入門
sutetotanuki
0
300
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
430
リリース8年目のサービスの1800個のERBファイルをViewComponentに移行した方法とその結果
katty0324
5
3.6k
Android 15 でアクションバー表示時にステータスバーが白くなってしまう問題
tonionagauzzi
0
140
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
4
1.5k
飲食業界向けマルチプロダクトを実現させる開発体制とリアルな現状
hiroya0601
1
390
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Unsuck your backbone
ammeep
668
57k
KATA
mclloyd
29
13k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
The Cult of Friendly URLs
andyhume
78
6k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Docker and Python
trallard
40
3.1k
Statistics for Hackers
jakevdp
796
220k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Why Our Code Smells
bkeepers
PRO
334
57k
Producing Creativity
orderedlist
PRO
341
39k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Transcript
謎コイン チーム名
メンバー 井上 陽介(いのうえ ようすけ) フロントエンド担当 LINEBot大好き 大阪からきました
岩田 理央(いわた りおう) バックエンド担当 臼井 陸(うすい りく) フロントエンド担当 太田 圭祐(おおた けいすけ) バックエンド担当 村松 侑(むらまつ ゆう) フロントエンド担当
誰に向けたものか? ・”地元民と旅行客” 地元の人のみが投稿できる口コミサー ビスです アプリケーション概要 ・自分の地元について投稿できる (マップピンで表示) ・地元について質問できる (ex.
旅行客が訪れたとき) 作ったもの「じもとコイン」
まずはぜひ触って見てください!
成果物のデモ
・地元ボイスチャンネルのグループのため,地元色強めで ・地元の課題 → 人口減少 ・最終目標は移住 ・今回は地元の魅力を伝えることに着目 ・地元民は地元の良さを再認識できる(イイねされると気分がいい!) 作ろうと思った背景
まちのコイン ・イベント参加,ゴミ拾い,フードロス削減などに貢献することで コインがもらえる,いろいろ使い道がある(ex. 超高級肉の抽選)! じもとコイン ・「おすすめスポットの投稿」,「投稿にいいね!される」, 「質問に回答する」とコインがもらえる
・コインを使うことで地元について質問できる 類似サービスとの比較
移住支援・地方創生 簡単にその目標は達成できないので、今回はその一歩手前である 「移住するかもしれないになるはじめてのアクション」を設計する 目指すところはただの承認欲求で動くサービスではない → あえていいね数やコイン数のランキングは実装していない →地元から連想される暖かさ、故郷への思いをメインパワーにしたい 私たちが目指す最終目標
作った機能について ・おすすめスポット投稿機能(タイトル,本文,画像) ・イイね機能 ・マップ機能 ・プロフィール機能 ・コイン機能
謎コイン コインを貯めても特に何もない → 貯めるのが楽しい → 行動につながる じもとコインでは… ・もらえる条件 「おすすめスポットの投稿」、「投稿にいいね!される」「質問に回答する」 ・消費方法
コインを使うことで地元について質問できる
コインの分配方法の仮説実装について • 質問回答してxコイン貰える • 質問に答えると何人目に答えたかによってもらえるコインが変動する • もらえるコインの下限は1コイン • 100コイン貰える質問 ◦
1人目: 100コイン ◦ 2人目: 100/2 = 50コイン ◦ … ◦ n人目: 100/n コイン • 貰えるコインが変動することでインフレを防ぐ • 質問に早く答えることに意味を持たせる • 最初は少なめから設定することでインフレを防ぎつつ、市場を調節したい。
使った技術や構成 バックとフロントでリポジトリを分けた バックのapiをフロントで呼び出す 使用技術 フロントエンド ・ TypeScript,React, Vercel, Mapbox GL
JS, PRTIMES API バックエンド ・PHP(Laravel), ClearDB(mysql), LINE API(ログイン)
こだわったポイント フロントエンド ・FireBaseによる画像管理 ・ ・Mapbox GL JSを使用してマップピンを表示 etc… バックエンド ・herokuにデプロイ ・LINE認証
etc…
チャレンジしたこと ・バックからS3へ画像保存(apiでまとめた方がきれい,時間決めて粘った) → 最終的にはフロント側でFirebase Storageに直接アップロードして解決した ・LINE Login (LIFF)を用いたIdToken検証でAPIとのやり取りを実現 ・なぜかわからないけど触りたい、コインを集めたいと思わせる体験設計 ・野良参加メンバー(初対面)での開発でどこまでのアプリを作ることができるか
→ デザインファイルの90%ぐらいは作れた(!?) ・みんなで仲良く、どうすればスムーズに開発できるのかをみんなで考えた
今後の展望 ・コイン機能をもっと検証して、ユーザーが投稿&回答したくなるような バランスを研究していきたい ・APIのレスポンスを早くしたい ・実際に使われるサービスになるように改善と広報を進めていきたい
個別発表: 井上 陽介(いのうえ ようすけ) • デザインファイルの作成 • チームのタスク管理 • フロントエンド
x LINE API の連携 • React App x TypeScript の開発 • Laravel APIの開発のお手伝い “悩みこまずアウトプット 一番テンションが上がるものから作る” “行動者発になるサービスが作れて良かっ た”
None
None
個別発表: 岩田 理央(いわた りおう) 達成した点・こだわった点 ・herokuへのデプロイ(データベース構築) ・apiの作成(/user, /favorite) --[初めて]-- ・方針のすり合わせ(仕様,役割分担,引き際)
感想 ・初ハッカソン ・スピード感 ・初チーム開発(frontとback) debag できること,できないことわかった メンターさん
個別発表: 臼井 陸(うすい りく) 達成した点・こだわった点 • 顔出しでのミーティング、ハッカソンの事前の関係性の構築 • TypeScriptでの本格的な開発への初挑戦 •
複数のコンポーネントで使うことのできるコンポーネントの作成 • MUIの導入によるわかりやすく使いやすいUI 感想 • ハッカソンへの初挑戦 • 自身の課題
個別発表: 太田 圭祐(おおた けいすけ) 達成した点・こだわった点 ・APIの作成(/question, /answer, /report) ・LaravelのMiddlewareを使ってLINE認証プロセスを実装 感想
・Laravelを使うのは初めて ・自身の開発速度を上げたい
個別発表: 村松 侑(むらまつ ゆう) 達成した点とこだわった点 ・MUIを利用したフロント作成 ・ユーザーが使いやすいデザインとなるように意識しました 感想 ・本格的なバックエンドがある環境でフロントを作ることが初めてだったで 認証周りを含めて良い経験が出来ました。
質問タイム 井上 陽介 github.com/inoue2002 岩田 理央 github.com/Rio-Rf
臼井 陸 github.com/Ricccck 太田 圭祐 github.com/melon0658 村松 侑 github.com/Murayu0225