NodeJS의 프레임워크 Koa를 활용한 REST API
1. Express보다 빠르고 경량화된 프레임워크
2. async/await 비동기 지원
Koa, Typescript, Sequelize, PostgreSQL, JWT, Jest, Swagger, Docker
.env.example을 참고하여 실행할 환경에 따라 .env.development 또는 .env.production으로 파일명 변경
# server
PORT=something // 서버 실행 포트 넘버
API_HOST=something // API 실행 URL
CLIENT_HOST=something // 클라이언트 실행 URL
# auth
SECRET_KEY=something // JWT를 이용하여 토큰을 생성할때 사용할 Key값
PASSWORD_SALT=something // 패스워드 암호화시 필요한 Salt값
# environment
NODE_ENV=something // 실행 환경
# database
POSTGRES_DATABASE=something // 데이터베이스 이름
POSTGRES_HOST=something // 데이터베이스 주소
POSTGRES_USER=something // 데이터베이스 관리자 이름
POSTGRES_PW=somethings // 데이터베이스 관리자 비밀번호
Node 16 혹은 그 이상의 버전을 필요로 합니다.
$ yarn // install dependencies
$ yarn start:prod // run server in production
$ yarn start:dev // run server in development
Sequelize 마이그레이션
$ npx sequelize-cli migration:generate --name <name> // create migration file using sequelize cli
$ yarn db:migrate // running migrations
Sync Database
$ yarn db:sync // sync database
타입스크립트 컴파일링
$ yarn build // compile ts files
$ yarn dev 또는 $ yarn server // run compiled js files
$ yarn test // run jest
Postgres DB와 Koa-rest-api를 컨테이너로 실행 _ 이미지 빌드도 함께 진행 (docker-compose.yml 참고)
$ docker compose up
koa-rest-api 이미지 빌드 (Dockerfile 참고)
$ docker build -t minjman/koa-rest-api .
yarn 으로 필요한 패키지 설치 진행 후
http://localhost:4000/swagger 주소 입력