emigreは、画像投稿を行うSNSである。よりよりサービスを作ることが目的ではなく、技術的な挑戦を行うために開発を進める。具体的には、仕事で使っているフレームワークやライブラリから距離を置いて開発することを目指す。
サーバーアプリはGolang、クライアントアプリはKotlin + Jetpack Desktop、インフラはAWSを使用する。
- Firebase Authenticationによる認証
- ユーザー情報登録API
- ユーザー情報削除API
- ユーザー情報更新API
- ユーザー情報取得API
- ユーザーフォローAPI
- ユーザーフォロー解除API
- 画像投稿API(50文字の説明を付与可能)
- 画像一覧取得API(ソート機能付き) ※機能が多く、重たいAPI
- 画像詳細取得API
- 画像詳細閲覧履歴の記録
- 画像お気に入り登録・解除API
検索機能はないため、画像を垂れ流すだけのSNSとなる。
- トップ画面
- ユーザー登録画面
- ユーザー情報削除画面
- ユーザーアカウントページ
- 画像閲覧画面
ECS + Fargateを想定したインフラを構築する(EC2は使用しない) 部分的にLambdaを使用する可能性がある
- NSFW(エログロ系)は、画像投稿時に検出(判定)したい
- 画像をリサイズして配信するOSSが必要