얼음꽃의 일지

[항해99] 게시판 구현하기 본문

항해 일지

[항해99] 게시판 구현하기

얼음꽃 2022. 10. 1. 21:15
728x90

[ 이 내용은 항해99 3주차 수업 배운 사람을 위한 내용입니다.]

[몽구스, express.js, vscode를 못만져 보셨다면 어려울수 있습니다.]

 

 

요구사항

  1. 전체 게시글 목록 조회 API
    • 제목, 작성자명, 작성 날짜를 조회하기
    • 작성 날짜 기준으로 내림차순 정렬하기
  2. 게시글 작성 API
    • 제목, 작성자명, 비밀번호, 작성 내용을 입력하기
  3. 게시글 조회 API
    • 제목, 작성자명, 작성 날짜, 작성 내용을 조회하기 (검색 기능이 아닙니다. 간단한 게시글 조회만 구현해주세요.)
  4. 게시글 수정 API
    • API를 호출할 때 입력된 비밀번호를 비교하여 동일할 때만 글이 수정되게 하기
  5. 게시글 삭제 API
    • API를 호출할 때 입력된 비밀번호를 비교하여 동일할 때만 글이 삭제되게 하기
  6. 댓글 목록 조회
    • 조회하는 게시글에 작성된 모든 댓글을 목록 형식으로 볼 수 있도록 하기
    • 작성 날짜 기준으로 내림차순 정렬하기
  7. 댓글 작성
    • 댓글 내용을 비워둔 채 댓글 작성 API를 호출하면 "댓글 내용을 입력해주세요" 라는 메세지를 return하기
    • 댓글 내용을 입력하고 댓글 작성 API를 호출한 경우 작성한 댓글을 추가하기
  8. 댓글 수정
    • 댓글 내용을 비워둔 채 댓글 수정 API를 호출하면 "댓글 내용을 입력해주세요" 라는 메세지를 return하기
    • 댓글 내용을 입력하고 댓글 수정 API를 호출한 경우 작성한 댓글을 수정하기
  9. 댓글 삭제
    • 원하는 댓글을 삭제하기

 

구성

.
├── app.js                       : 전체를 돌리기 위해 필요
├── routes                       : API를 넣기 위한 폴더 
│   ├── comments.js       : 댓글 API를 구현하기 위한 js
│   └── posts.js               : 게시글 API를 구현하기 위한 js
└── schemas                  : 데이터를 받고 저장하기 위한 폴더
    ├── index.js                : 몽구스 연결하기 위한 경로
    ├── comment.js          : 댓글 뼈대 작업
    └── post.js                  : 게시글 뼈대 작업

 

 

1. 뼈대 작업(Schema)

1-1) post.js :

  • 몽구스와 라이브러리 연결
  • 몽구스 안에 들어갈 게시글 뼈대 작성
  • module을 나갈 exports를 작성

1-2) comment.js :

  • 몽구스와 라이브러리 연결
  • 몽구스 안에 들어갈 게시글 뼈대 작성 
  • module을 나갈 exports를 작성

1-3) index.js :

  • 몽구스와 라이브러리 연결
  • 2. 설치한 몽고디비에 접근 & 에러 설정
  • 3. module을 나갈 exports를 작성

 

2. API 작업(Routes)

2-1) posts.js :

  • express 연결 & schema에서 만든 뼈대 연결 & 라우터 연결
  • 게시글 전체 조회(GET) 이용 : 조회해야하므로 find로 불러오고, 반복문 돌려서 배열에 넣고, res.json 대입
  • 게시글 상세 조회(GET) 이용 : ID가져와서 그 ID에 해당하는 값을 find로 불러오고, 해당하는 값을 res.json 대입
  • 게시글 작성(POST) 이용 : res.body로 값을 받아오고, create로 넣고, res.json 대입
  • 게시글 수정(PUT) 이용 : res.params, body로 값을 받아오고, id 값을 find를 하고 updateOne을 이용하여 수정 후, res.json대입
  • 게시글 삭제(DELETE) 이용 : res.params, body로 값을 받아오고, 비밀번호 비교 후, 맞으면 삭제

2-2) comments.js :

  • express 연결 & schema에서 만든 뼈대 연결 & 라우터 연결
  • 댓글 생성(POST) 이용 : ID가져와서 값을 받아와서, create로 넣고, res.json 대입
  • 댓글 수정(PUT) 이용 : res.params, body로 값을 받아오고, id 값을 find를 하고 updateOne을 이용하여 수정 후, res.json대입
  • 댓글 삭제(DELETE) 이용 : res.params, body로 값을 받아오고, 비밀번호 비교 후, 맞으면 삭제

 

3. 전체 작업(App.js)

  • express 연결 & schema, routes 만든거 연결 & connect & express.json & 포트 연결

https://github.com/talli0505/node.js_sparta

 

GitHub - talli0505/node.js_sparta

Contribute to talli0505/node.js_sparta development by creating an account on GitHub.

github.com

 

728x90