두두의 IT/etc) Backend

Nodebird 백엔드 노드 서버 구축하기

두두연 2024. 7. 12. 18:13
728x90

4-1. 노드로 서버 구동하기

  1. app.js 추가
  2. npm init
  3. node app.js

node

  • 자바스크립트 코드를 실행할 수 있게 해주는 프로그램
  • 서버가 아님

res.end는 마지막에 한 번만 사용. 

createServer()가 요청을 받는 메서드임

 

4-2. 익스프레스로 라우팅하기

  1. npm i express
  2. app.js 수정
  3. node app

get 가져오다

post 생성하다

put 전체 수정

delete 제거

patch 부분 수정

options 찔러보기

head 헤더만 가져오기

 

4-3. 익스프레스 라우터 분리하기

  1. routes/post.js 수정
  2. app.js 수정

4-4. MySQL과 시퀄라이즈 연결하기

 

4-5. 시퀄라이즈 모델 만들기

 

4-6. 시퀄라이즈 관계 설정하기

 

4-7. 시퀄라이즈 sync+nodemon

 

4-8. 회원가입 구현하기

front

  1. sagas/user.js 수정

back

  1. app.js 수정
  2. routes/user.js 수정
  3. npm i bcrypt : 암호화

signup.js > sagas/user.js

json은 json, 나머지는 폼

 

4-9. CORS 문제 해결하기

  1. routes/user.js 수정
  2. npm i cors
  3. app.js 수정

front

  1. pages/signup.js 수정

ERR_CONNECTION_REFUSED : 서버가 꺼져있다는 에러

브라우저에서 백엔드 서버로 요청 보낼 때 cors 에러 ? 프론트 서버가 proxy 역할을 함?

cors의 origin: true로 설정해두면 * 대신 보낸 곳의 주소가 자동으로 들어가 편리함

cors 처리하면 개발자도구에서 Response Headers의 Access-Control-Allow-Origin:*을 확인할 수 있음 

 

4-10. 패스포트로 로그인하기

  1. routes/user.js 수정
  2. npm i passport
  3. passport/index.js 추가
  4. passport/local.js 추가
  5. app.js 수정

front

  1. sagas/user.js 수정
  2. sagas/index.js 수정 → 백엔드 & 프론트 통신

미들웨어를 확장하는 방법이라. ... routes/user.js에서... 

 

4-11. 쿠키/세션과 전체 로그인 흐름

  1. routes/user.js 수정
  2. app.js 수정
  3. npm i express-session
  4. npm i cookie-parser
  5. passport/index.js 수정
  6. npm i dotenv
  7. .env 추가
  8. config.js 수정/config

front

  1. reducers/user.js 수정

세션용 db 저장을 redis로 함

.env는 git에 올리면 안됨

 

4-12. 로그인 문제 해결하기

  1. routes/user.js 수정

front

  1. components/LoginForm.js 수정
  2. pages/signup.js 수정
  3. sagas/user.js 수정

 

4-13. 미들웨어로 라우터 검사하기

  1. routes/middlewares.js 추가
  2. routes/user.js 수정
  3. app.js 수정

 

4-14. 게시글, 댓글 작성하기

  1. routes/post.js 수정

front

  1. sagas/posts.js 수정
  2. reducers/posts.js 수정

 

4-15. credentials로 쿠키 공유하기

  1. app.js 수정
  2. routes/post.js 수정

front

  1. sagas/post.js 수정
  2. sagas/index.js 수정

 

4-16. 내 로그인 정보 매번 불러오기

  1. routes/user.js 수정

Front

  1. pages/index.js 수정
  2. reducers/user.js 수정
  3. sagas/user.js 수정

 

4-17. 게시글 불러오기

 

4-18. 게시글 좋아요

 

4-19. 게시글 제거 / 닉네임 변경

 

4-20. 팔로우 / 언팔로우

 

4-21. 이미지 업로드를 위한 multer

 

4-22. express.static 미들웨어

 

4-23. 해시태그 등록하기

 

4-24. 리트윗하기

 

4-25. 쿼리스트링과 lastId 방식