일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- db
- 비동기
- 3주차
- OpenAPI
- SQL
- cors
- 부트스트랩
- 1주차
- Transaction
- Sequelize
- 웹 스크래핑(크롤링)
- HTTPS
- 5주차
- MongoDB
- 개발일지
- node winston
- nginx
- post
- Node.js
- 스파르타코딩클럽
- 노드 윈스턴
- 4주차
- 트랜잭션
- JWT
- 2주차
- NoSQL
- 항해99
- Get
- 위키백과
- 숙제
Archives
- Today
- Total
얼음꽃의 일지
[항해99] 게시판 구현하기 본문
728x90
[ 이 내용은 항해99 3주차 수업 배운 사람을 위한 내용입니다.]
[몽구스, express.js, vscode를 못만져 보셨다면 어려울수 있습니다.]
요구사항
- 전체 게시글 목록 조회 API
- 제목, 작성자명, 작성 날짜를 조회하기
- 작성 날짜 기준으로 내림차순 정렬하기
- 게시글 작성 API
- 제목, 작성자명, 비밀번호, 작성 내용을 입력하기
- 게시글 조회 API
- 제목, 작성자명, 작성 날짜, 작성 내용을 조회하기 (검색 기능이 아닙니다. 간단한 게시글 조회만 구현해주세요.)
- 게시글 수정 API
- API를 호출할 때 입력된 비밀번호를 비교하여 동일할 때만 글이 수정되게 하기
- 게시글 삭제 API
- API를 호출할 때 입력된 비밀번호를 비교하여 동일할 때만 글이 삭제되게 하기
- 댓글 목록 조회
- 조회하는 게시글에 작성된 모든 댓글을 목록 형식으로 볼 수 있도록 하기
- 작성 날짜 기준으로 내림차순 정렬하기
- 댓글 작성
- 댓글 내용을 비워둔 채 댓글 작성 API를 호출하면 "댓글 내용을 입력해주세요" 라는 메세지를 return하기
- 댓글 내용을 입력하고 댓글 작성 API를 호출한 경우 작성한 댓글을 추가하기
- 댓글 수정
- 댓글 내용을 비워둔 채 댓글 수정 API를 호출하면 "댓글 내용을 입력해주세요" 라는 메세지를 return하기
- 댓글 내용을 입력하고 댓글 수정 API를 호출한 경우 작성한 댓글을 수정하기
- 댓글 삭제
- 원하는 댓글을 삭제하기
구성
.
├── 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
728x90
'항해 일지' 카테고리의 다른 글
Nginx + https연결 사용법 (0) | 2022.11.02 |
---|---|
게시글, 댓글, 좋아요 형태 만들기 (0) | 2022.10.11 |
[항해9기] 알고리즘 모의고사 문제 (0) | 2022.09.28 |
[항해 99기 9기] 2주차 JavaScript 과제 (1) | 2022.09.23 |
[Chapter 1] 5조 S.A(Starting Assignment) (1) | 2022.09.19 |