■ プロジェクトの説明
公開Webから収集したセミナー情報を集約し、外部ユーザーが検索・閲覧・申込へ遷移できるポータル
■ 目的
複数のセミナーサイトから情報を集約し、外部ユーザーが最新のセミナーを横断検索・閲覧・申込導線へスムーズに到達できるようにする(重複排除/更新反映を自動化)。
■ 主な機能
キーワード/カテゴリ/開催日での絞り込み、詳細ページ、外部申込URL連携、更新検知・重複排除
■ チーム構成
チーム構成:エンジニア x 3人
■ 担当工程
要件定義・設計・コーディング・テスト・コードレビュー・運用保守・データ分析
■ 経験した職種・役割
インフラ、バックエンド、フロントエンド、SRE、UX/企画、QA、データ分析
■ 使用技術
**インフラ**
AWS (Route53, CloudFront, S3, ECS on Fargate, RDS, DynamoDB, AppSync, CloudWatch, Cognito, Elasticsearch)
**バックエンド**
GraphQL(AppSync:スキーマ/リゾルバ実装、DynamoDB連携)、Amplify(認証/GraphQL通信の統合)
**フロントエンド**
React v16系, NextJS v10系
**IaC**
AWS CloudFormation(スタック定義・更新、パラメータ管理、テンプレート化による環境再現性の担保)
**ログ/分析**
CloudWatch Logs/Metrics/Alarms、CloudWatch Log Insights
開発/運用ツール
Bitbucket, CircleCI, Sentry
■ 業務内容の詳細
**インフラ系**
- Route53, ALB, ECS Fargate(Next.jsをSSR運用), AppSync(GraphQL API), DynamoDB(データストア), Cognito, IAM, CloudWatch, WAF
- CloudFormationでIaC(AppSync/DynamoDB/Cognito/ALB/ECS/IAM等のテンプレート化)。
**バックエンド系**
AppSyncのスキーマ/リゾルバ(VTL/JS)を実装し、DynamoDBへ直接アクセス。CognitoのJWTで認可を制御
**フロントエンド系**
- Next.js(SSR)をECS Fargateで稼働。Cognitoでログイン→AppSyncにGraphQL通信(Amplify/SDK)
- Next.js(SSR)/MUI(Material UI)でデザインシステムを構築。アトミックデザインを採用
- 共通コンポーネント化とテーマ(カラー/タイポグラフィ/間隔)を統一。検索フォームやフィルタ、一覧テーブルなどをMUIコンポーネントで実装し、アクセシビリティとレスポンシブ対応を担保