docker 기반의 express, mongodb 서버를 구축해서 회원가입, 회원 목록 조회, 토큰 인증 요청, 토큰 인증 완료, 스타벅스 커피 목록 조회 총 5개의 API를 만들어 보기로 했다.
yarn init
명령어를 통해 package.json, yarn.lock 파일을 생성한다."type": "module"
추가한다.yarn add
명령어를 통해 프로젝트에 사용할 라이브러리를 설치한다.docker 컨테이너 이미지 빌드를 위해 Dockerfile
를 생성한다.
Dockerfile
내에 컨텐츠 추가
- FROM = docker에 설치할 서버와 버전
- WORKDIR = docker에 생성할 폴더명
- COPY = 복사할 파일 / 파일을 생성할 위치
- RUN = package 설치 명령어
- CMD = 서버 실행 명령어
docker-compose.yaml
파일 생성(express와 mongodb의 다중 컨테이너를 구축하기 위해 필요)
docker-compose.yaml
내에 컨텐츠 추가
.dockerigonore
파일 생성
.dockerignore
내에 프로덕션과 관련없는 파일들을 추가해 이미지를 빌드할 때 제외시킬 수 있다.
특정 파일이나 디렉토리를 제외할 수 있고, *를 사용해 특정 확장자를 가진 모든 파일을 제외할 수도 있다.
.dockerignore
파일을 잘 활용하면 이미지 크기도 줄일 수 있고 빌드 속도도 향상 시킬 수 있다.
여러 함수들을 조합하여 회원가입 기능 구현
주민등록번호 뒷자리 마스킹, 이메일 검증, 가입환영 템플릿 만들어서 이메일로 보내기 등
스타벅스 홈페이지에 있는 음료 이미지와 이름 가져오기
puppteer
라이브러리를 이용하여 구현하고 해당 데이터를 mongodb에 저장하였다.
swagger에 문법에 맞게 URI, HTTP method, summary, description, content, requset type, response type 등을 작성하면 된다.
참고로 들여쓰기에 매우 민감하기 때문에 들여쓰기 규칙을 잘 적용해야 한다.
coolsms-node-sdk
라이브러리를 이용한 인증번호 전송 기능 구현
nodemailer
라이브러리를 이용한 메일 전송 기능 구현