Slide 1

Slide 1 text

大学のサークルプラットフォームを作った話 大阪大学 基礎工学部 情報科学科 緒方 克哉

Slide 2

Slide 2 text

目次 ● 動機 ● 技術スタック ● インフラ構成 ● 工夫点 ● 現状の結果

Slide 3

Slide 3 text

目次 ● 動機 ● 技術スタック ● インフラ構成 ● 工夫点 ● 現状の結果

Slide 4

Slide 4 text

動機 ● 大阪大学生の生活をより便利にするプロダクトを作りたい。。 ● サークルの情報は、某団体が毎年webページを作るが団体が編集を行う ことができない ● 今年は、そのwebページが作成されないらしい。。。 ○ プラットフォームを乗っ取るチャンス! ● 自分たちでもっと便利なサイトを作って使ってもらおう!!

Slide 5

Slide 5 text

目次 ● 動機 ● 技術スタック ● インフラ構成 ● 工夫点 ● 現状の結果

Slide 6

Slide 6 text

技術スタック / 開発体制 ● 技術スタック ○ バックエンド: Python, FastAPI ○ フロントエンド: TypeScript, Next.js, TailwindCSS ○ インフラ: AWS ● 開発体制 ○ バックエンド・インフラ 1名 ○ フロントエンド 1名 ○ ビジネスメンバー 10名

Slide 7

Slide 7 text

目次 ● 動機 ● 技術スタック ● インフラ構成 ● 工夫点 ● 現状の結果

Slide 8

Slide 8 text

インフラ

Slide 9

Slide 9 text

目次 ● 動機 ● 技術スタック ● インフラ構成 ● 工夫点 ● 現状の結果

Slide 10

Slide 10 text

画像最適化 ● 画像のレンダリングがとても遅い。。。 ● ユーザーが画像をアップロードする形式なので、画像サイズがとんでもなく 大きくなってしまう場合がある ● 画像の最適化処理を行なって、画像を小さくする ○ webpに変換 ○ 透明な部分を白くしてサイズを減らす ○ アスペクトを固定してあげる ○ 解像度を気づかれないくらい下げる

Slide 11

Slide 11 text

画像のアップロード ● 画像のアップロード周りで不具合がたくさん報告されている ● base64でエンコーディングして送信している ● しかし、ローカルでは再現することができない。。。 ○ 413 Payload Too Large ….??? ● 原因: APIGatewayが10MBまでしか通せない ● 解決策: 署名付きURLを発行して、画像のアップロード処理はクライアント ですべて行ってもらう(最適化処理も)

Slide 12

Slide 12 text

SEO対策 ● 団体には直接アプローチすることができるが、新入生にはどうやって知ってもらうか? ○ SNSでの告知 ○ サークルオリエンテーション等での直接勧誘 ● しかし、息の長いサービスにするためには、勝手にユーザーが入ってくる仕組みが必要 ● SEO対策を実施 ● 内部リンクを増やす(パンくずリスト) ● metaタグをつけてあげる (ogp, description, title) ○ 「はんナビ」で検索したら最上位にヒットする ○ 「大阪大学」、「サークル」とかでも割と上位に表示されるようになった

Slide 13

Slide 13 text

ユーザーへの価値提供にフォーカス ● メインとなるターゲットは? ○ 新入生 ● どんな需要がある? ○ どんなサークルが自分にあっているかわからない。。。 ○ どんなサークルがあるかわからない。。。 ■ どんな情報で検索を行いたい? ○ 新歓情報が多過ぎて調べきれない。。。 ■ 何を基準に新歓イベントを探している? ● どうやったら解決できる? ○ サークル診断機能 ○ サークル検索機能 ○ サークルイベント一覧機能

Slide 14

Slide 14 text

開発体験の向上 (CI/CD)

Slide 15

Slide 15 text

目次 ● 動機 ● 技術スタック ● インフラ構成 ● 工夫点 ● 現状の結果

Slide 16

Slide 16 text

検索

Slide 17

Slide 17 text

検索 狙っていたキーワードでクエリされている!!

Slide 18

Slide 18 text

利用者数

Slide 19

Slide 19 text

利用者数

Slide 20

Slide 20 text

今後の展望 ● 新歓時期が過ぎてしまったら使われないサービスになってしまうので、新機 能を開発していく ○ SEO的にも強いコラム等の静的なコンテンツを増やす ○ 文化祭に向けて、展示品マップ等のイベントに合わせて機能 ● Golangへの移行もしくは、変更に強いアーキテクチャへの移行 ● DynamoDBからRDSへの移行 ● ユーザーの意見を吸い上げられるような仕組み