해시태그
를 기반으로 인스타그램, 페이스북, 트위터, 스레드 등 복수의 SNS
에 게시된 게시물
을 하나의 서비스에서 확인할 수 있는 통합 Feed
서비스입니다.
데이터베이스 스키마를 생성합니다.
CREATE DATABASE `wanted`
DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
서버 및 데이터베이스 연결을 위한 환경 변수를 설정합니다.
PORT=
DB_PORT=
DB_USERNAME=
DB_PASSWORD=
DB_DATABASE=
JWT_SECRET=
GATEWAY_DOMAIN=
데이터베이스 스키마 생성 후, 스크립트 파일 실행으로 초기 설정합니다.
> sh start.sh # 리눅스 스크립트 파일 실행
> ./start.bat # 윈도우 스크립트 파일 실행
- 사용자 정보에 대한 입력값의 유효성을 검사한다.
계정명 중복 여부
확인이메일 구조
를 가지고 있는지 확인비밀번호
- 10자 이상 문자열
- 숫자, 문자, 특수문자 중 두 개 이상 사용
- 연속된 문자 3번 이상 사용 금지
- 생성된 사용자에 대한 인증 코드를
DB
에 저장한다.
회원가입
후 이메일에서 발급받은인증코드
로 가입 승인한다.- 이메일 발송 과정은 생략
가입 승인된 사용자
만로그인
할 수 있다.계정명
과비밀번호
로 로그인한다.- 로그인 후
모든 API 요청
에 대해JWT 유효성
을 검증한다.
해시태그
로게시물 목록
을조회
한다.- 정렬, 검색, 페이지네이션,
SNS
별 필터링이 적용된다.
특정 게시물
에 대한 모든 필드를조회
한다.- 요청 성공 시 횟수 제한 없이 조회수가
+1
증가한다.
- 요청 성공 시 횟수 제한 없이
좋아요
횟수가+1
증가한다. - 게시물의
SNS 종류
에 따라좋아요
기능에 대한 외부API
(가상의URL
)를 호출한다.
Type | Method | Endpoint |
---|---|---|
POST | https://www.facebook.com/likes/<content_id> |
|
POST | https://www.twitter.com/likes/<content_id> |
|
POST | https://www.instagram.com/likes/<content_id> |
|
threads | POST | https://www.threads.net/likes/<content_id> |
- 요청 성공 시 횟수 제한 없이
공유
횟수가+1
증가한다. - 게시물의
SNS 종류
에 따라공유
기능에 대한 외부API
(가상의URL
)를 호출한다.
Type | Method | Endpoint |
---|---|---|
POST | https://www.facebook.com/share/<content_id> |
|
POST | https://www.twitter.com/share/<content_id> |
|
POST | https://www.instagram.com/share/<content_id> |
|
POST | threads | https://www.threads.net/share/<content_id> |
- 사용자의
계정명
또는특정 해시태그별
,일자별
,시간별
로통계
를조회
한다. - 통계 항목 : 게시물 개수, 조회수, 좋아요 개수, 공유 횟수
강희수 | 박동훈 | 신은수 | 이드보라 | 이승원 |
---|---|---|---|---|
@kangssu | @laetipark | @dawwson | @sayapin1 | @tomeee11 |
- 강희수
- 스켈레톤 프로젝트 생성
프로젝트 구조 생성
및 프레임워크 & 라이브러리 설치
- 게시물 상세 조회
- 하나의 게시물에 대한 상세 정보 및 관련 해시태그 조회
- 게시물 공유하기
- NestJS에서 제공하는 HttpModule, ConfigModule, CustomPipe 사용
- HttpModule로 외부 호출 사용
- CustomPipe로 Enum Type의 특정 값에 대한 유효성 검증
- 로컬에서는 외부 호출을 통과시키기 위해 ConfigModule로 로컬/데브 환경변수 구분
- NestJS에서 제공하는 HttpModule, ConfigModule, CustomPipe 사용
- 스켈레톤 프로젝트 생성
- 박동훈
- Database Migration
스크립트 파일
을 통한 데이터베이스Table
및Seed
데이터 생성
- 사용자 회원가입 API 개발
- 사용자 정보(
아이디
,이메일
,비밀번호
)에 대한 유효성 검사 - 가입 승인 절차를 위한
인증코드
발급
- 사용자 정보(
- Database Migration
- 신은수
- 가입 승인 API 개발
DB
에 저장된 인증 코드 검사
- 사용자 로그인 API 개발
Cookie
+JWT
기반 사용자 인증
- 가입 승인 API 개발
- 이드보라
- 통계 API 개발
- 해시태그/일자/시간별
게시물 개수
,조회수
,좋아요 개수
,공유 횟수
의통계
결과 조회
- 해시태그/일자/시간별
- 통계 API 개발
- 이승원
- 게시물 목록 조회
- 전체
게시물 목록
및 관련해시태그
조회
- 전체
- 게시물 좋아요
- NestJS에서 제공하는 HttpModule 사용
- 게시물 목록 조회