app.js
- postsRouter(/posts) 추가
routes/login.js
- req.user를 통해 로그인 했는지 확인하는 함수 isLogin 추가
routes/passport.js
- 간편로그인으로 계정 생성 시 posted(기본값: false) 항목 추가: 계정 당 게시글을 1개만 쓸 수 있도록
routes/posts.js
- .get(/new)
- isLogin으로 로그인 되었는지 확인
- users collection에서 현재 로그인 한 계정의 document를 찾고, posted 항목이 false인 경우에만 글쓰기 페이지를 렌더링할 수 있도록
- .post(/new)
- req.body에 값이 담긴 경우 데이터를 정리해서 DB에 저장
- postId의 경우 기본값은 1, posts collection에 1개 이상의 데이터가 존재하는 경우 마지막 document의 postId 값 + 1을 저장
- 로그인 한 계정의 posted 값을 true로 update
200, 201, 300, 400, 404
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
HTTP response status codes - HTTP | MDN
HTTP response status codes indicate whether a specific HTTP request has been successfully completed. Responses are grouped in five classes:
developer.mozilla.org
정상적으로 작동하는지 확인하기 위해 ejs를 이용해서 하다보니 마지막에는 React로 데이터를 넘겨줘야 한다는 걸 자연스레 잊었다.. 여태 삽질을.. redirect 같은 걸로 생각없이 처리를 해뒀었는데 res.json으로 수정했다.
우리 팀은 지금 프론트/백을 아예 분리해서 하는 중인데
그러다보니 나중에 react와 합치면 쓸모없어질 것 같은 view engine을 써가면서 구현하는 게 맞는지(암만 생각해도 아닌 것 같음) 의문이다. postman 쓰기는 좀 번거로운 것 같던데 어떻게 하는 게 맞는 건지?? ㅜㅜ
코드가 아예 달라지진 않고 마지막 처리만 다르기 때문에 일단 ejs 쪽 코드와 react 합쳤을 때의 코드 둘 다 적고 있긴 하다..
목금토 너무 놀아서 저녁에 잠깐 하느라 하루에 기능 하나씩만 짜고 있긴 한데 내일부터는 시간 많이 할애해보는 걸루
'KDT > project' 카테고리의 다른 글
[MarkYour2022] 프로젝트 회고 (0) | 2022.12.14 |
---|---|
[MarkYour2022/backend] 4. 글 상세, 수정, 삭제, 댓글 등록, 수정, 삭제 (0) | 2022.10.23 |
[MarkYour2022/backend] 2. 로그인(네이버, 카카오, 구글) (0) | 2022.10.22 |
[MarkYour2022/backend] 1. node.js 서버 기초세팅 (0) | 2022.10.21 |
[3-24] 8/1 ~ 8/15 프론트엔드 프로젝트 (0) | 2022.09.06 |