オンデンカップ

まるまる

https://github.com/scla-sagauniv/marumaru_ONDENCUP

Next.js

TypeScript

Redis

AWS

MySQL

チュートリアル扱いじゃないTodoアプリ

shunsuke-tamura

sakupi

s.maru1111

なぎ

推しアイデア

まるまる

作った背景

技術学習のチュートリアル的な扱いをされて、ちゃんと作ってもらえないことの多いTodoアプリをちゃんと作ってみたかった

推し技術

tRPCを使用した型安全な開発

プロジェクト詳細

本気のTodoアプリ

技術構成図

理解が浅くて図には書けないですううう

  • S3
  • RDB MySQL
  • Redis
  • Amplify

頑張ったところ

S3への画像アップロード

  • フロントエンドから直接S3へ画像をアップロードするために、署名付きURLをバックエンドで作成し、それを使用して画像をアップロードしている
  • アップロードした画像はCloudFrontを通して閲覧可能にしている

dnd(まる)

DnDは考えることが多くて難しかった

単純なDnDであれば簡単であるが、今回のような実装をやろうと思うと、複雑なコードになる。

ドラック判定とクリック判定を分ける

4pxドラックするとドラック可能になり、それ以外はクリックとして扱うようにして、 ドラックとクリックを両立できるようにした。

パスワードのハッシュ化(なぎ)

  • ハッシュ化と変換後の照合ができるモジュールを用いて実装した
  • bcrypt、楽

こだわりポイント

tRPC

  • zodを使用してschemaを定義し、それを使用してフロントもバックもAPIを作ったり叩いたりしているので非常に型安全で開発がしやすかった

認証まわり

  • SignUpには、情報を入力後、入力したメールアドレスに本登録URLが送られてくるよくあるあれを実装
  • ↑ を採用することによって「パスワードを忘れた人」のよくあるメールアドレスにパスワードリセット用リンクを発行するあれを実装できた

例に漏れずCI番人(安達)

shunsuke-tamura

@shuntamu