Skip to content

JasonSong97/NESTJS_SURVEY

Repository files navigation

Welcome to Nest.js Survey Server 📋

Version Maintenance License: MIT

Nest.js Survey Back-End Server

Nest.js를 이용한 설문지 프로그램📋, Survey

실행방법

  1. survey와 같은 경로에서 터미널을 열어 docker를 실행합니다.
docker-compose up
  1. docker-compose.yaml에 있는 파일을 참고해서 기존 더미데이터가 postgresql에 기록됩니다.

  2. docker의 포트와 nest.js를 연결 시키기 위해서 nest.js를 실행합니다.

yarn start:dev
  • 만약, nest.js 실행 시, port 에러가 발생한 경우 다음의 과정을 따라주세요.
    • a. cmd창을 관리자 권한으로 열고 netstat -ano를 입력해주세요.
    • b. 만약 5432 port가 2개가 떠있을 경우, 지금 실행하는 docker를 docker-compose down으로 중지하고 2개중 남아있는 5432 port를 taskkill /f /pid {PID}를 입력해주세요.
    • c. 다시 docker-compose up을 실행해주고, yarn start:dev를 실행해주세요.
    • 다음과 같은 에러가 발생한 이유는 이전의 도커가 존재해서 Nest.js에서 연결의 오류가 발생했기 때문입니다.
  1. docker에서의 postgres와 nest.js와 연결이 되고 postman에서 테스트를 진행합니다.
  • postman 실행시 http:localhost:4000으로 해야합니다.
  • 반드시 login을 진행해서 Guard가 있는 api접근시, accessToken을 들고가야합니다.

REST api

Swagger

  • API Swagger
    • 서버 실행 후, 클릭하시기 바랍니다.

기술스택

       

   

   

개발환경

  • backend

    • VScode
    • Nest.js 10.2.1
    • yarn 1.22.19
    • Docker version 24.0.6
    • PostgreSQL

ERD

erd

  • 추가 예정...

개발일지

👤 Jason_song97

  • 프로젝트 세팅, postgresql과 docker 연동 및 테이블 구조 세팅 (23/11/21) - commit: 9ee4bf6 c902e45
  • 도메인 CRUD 생성 (23/11/22) - commit: 705bfdf
  • Endpoint ParseIntPipe 처리 (23/11/22) - commit: fd3436c
  • 비동기 API async 처리 (23/11/22) - commit: 1a30379
  • 도메인 개발 (23/11/24) - commit: a527ee0 ef0bb52 2ea7b68 909b890
  • 사용자 로그인, 회원가입 구현 및 JWT 생성 구현, 토큰 검증 및 재발급 구현 (23/11/24) - commit: 1e35b44 26c3568
  • AccessToken, RefreshToken Guard 구현 (23/11/26) - commit: 984ba11
  • Validation 적용 (23/11/26) - commit: 5bddf7c
  • 도메인 2차 고도화 및 DTO, accessToken 적용 (23/11/26) - commit: 62ecdc5 e6e9124
  • 삭제시 Cascade 적용 (23/11/26) - commit: 7efc35e
  • Swagger 문서화 (23/11/27) - commit: 4632047
  • 컨트롤러 Param 리펙토링 (23/11/27) - commit: 134932b
  • 진행중....

Author & Role

👤 송재근

  • Role
    • 작업한 내용
      • ERD 설계
      • 설문지, 질문, 옵션, 답변 CRUD API 개발
      • 사용자 API 개발
      • JWT를 이용한 사용자 Basic 토큰 로그인, 회원가입 개발
      • AccessToken과 RefreshToken과 인증을 이용한 재발급 및 Guard 개발
      • Custom Validation 적용
      • OOP를 이용한 DTO와 Entity 설계
      • Custom Message 일반화 적용
      • Swagger 문서화
      • 진행중....
  • Github: @Jason_song97

소감문

  • SpringBoot에서 CRUD개발을 잘 익숙하지 못했지만 Nest.js를 사용해서는 눈에 띄게 API개발을 하며 모르거나 에러가 발생한 부분에서는 공식문서와 StackOverflow를 찾아보고 문제를 해결하는 송재근을 발견했습니다. 특히 JWT의 경우 SpringBoot로 accessToken과 refreshToken을 구현할 때 왔다갔다하는 과정이 정말 힘들었지만, Nest.js에 JWT를 적용하고 Guard와 Custom Validation Message 그리고 Custom Pipe를 적용하는 모습을 보고 많이 스스로 뿌듯했습니다. 아직 부족한 부분이 많이 남아 있지만 계속해서 새롭게 배운 내용들을 적용하면서 고도화를 하겠습니다.

Show your support

Give a ⭐️ if this project helped you!

📝 License

Copyright © 2023 Nest.js Survey.
This project is MIT licensed.


This README was generated with ❤️ by readme-md-generator

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors