Bonded

https://github.com/Teamsasa/Bonded

Go

TypeScript

React

AWS

TailwindCSS

誰でもカレンダーを作成、共有できるアプリケーションです。

M.Yamamoto

推しアイデア

自分、会社や部活、推しの日程まで、このアプリケーションで全て把握することができます!!

作った背景

現状自分の予定、会社や部活の予定、推しの予定など、日程情報が分散している。それを一元管理できるアプリケーションが欲しいと考えた

推し技術

GO+Lambda

プロジェクト詳細

推しポイント

  • 誰でもどこでもカレンダーを公開可能!
  • あなただけのカレンダーを作り込み全世界に公開しませんか?
  • 公開カレンダーはログイン不要!

プロダクト使用例

  • 企業や芸能人が公式カレンダーを作成して公開
  • ファンメイドのカレンダーを公開してファン全員で共同編集
  • プライベートカレンダーで仲の良い友達との予定を管理

使用技術

フロントエンド

  • TypeScript
  • Tailwind
  • HTML
  • Vite
  • Matelial UI

バックエンド

  • GO

インフラ

  • Amazon Web Servise
  • Cognito
  • API Gateway
  • Lambda
  • DynamoDB
  • Amplify image

こだわりポイント

OAuthを用いたGoogle認証

  • 従来より用いられるUserIDとパスワードの認証を入れずに、Google認証を用いたセキュアな認証を実装
  • Cognitoのマネージドログイン機能を利用し認証フロント画面を簡単に実装 image

MainブランチへのmergeブロックとCIによるコード品質管理

  • Mainブランチへの変更をレビュー必須にし、チーム三人のうち、二人はコードについて把握できるように
  • PullRequestに対して、自動テストを実行し、最低限のコード品質を保証 image

Swaggerを用いたAPIドキュメント

  • API仕様書を用いた開発を行うことで、他者のコードも素早くキャッチアップすることができ、フロントとバックエンドの繋ぎ込みの障壁を低くすることに成功 image

ミドルウェアによるAPIごとの認可切り分け

  • 公開カレンダーや非公開カレンダーなど権限の切り分けが多数あるので、ミドルウェアで認可フローを一括管理しつつ、場合によって認可をパスしてカレンダー情報を取得するフローを作成

M.Yamamoto

@cf8c24a8eeab6f14