POST /v1/messages
GET /v1/folders
[{
"id": "1",
"name": "Inbox",
"user_id": "123",
}]
GET /v1/folders/{:folderID}/messages
GET /v1/messages/{:messageID}
{
"user_id": "123",
"from": { "name": "John Doe", "email": "john.doe@example. com" },
"to": { "name": "Jane Smith", "email": "jane.smith@example. com" },
"subject": "Hello, world!",
"body": "Hello, world!",
"is_read": false,
}
개략적 설계안
웹메일: 웹브라우저를 사용한 이메일 클라이언트
웹서버: 사용자가 이용할 요청/응답 서비스. 로그인, 가입 등 관리기능 담담
실시간 서버
메타데이터 데이터베이스: 이메일에 대한 정보 저장
첨부 파일 저장소: 아마존 S3등의 객체 저장소 사용
분산 캐시: 최근 수신된 메일은 자주 읽을 가능성이 훨씬 높다.