항해나루(Hanghaenaru) is a mockup sns project
2021.07.09 - 2021.07.15
https://ovenapp.io/view/x1MRnikLCmad6COoQmYy1sRBdBObMDRL#QFJkC
- Backend
고수진 / sign in, sign up, userSchema
김승빈 / post and comment
이경원 / chat and socket.io - Frontend
오일교
최지혁
https://docs.google.com/spreadsheets/d/13mMW-JBf84557AGc705Y50cH6GSldPZ9zSSz78e2UoE/edit#gid=0
페이지 | 기능 | API URL | Method | request | response |
---|---|---|---|---|---|
로그인 | 로그인 하기 |
/signin | POST | loginId, password | token : {userId, nickname, expiresIn} |
회원가입 | 중복확인 | /duplicate | POST | loginId, nickname | 201, 400 |
회원가입 하기 |
/signup | POST | loginId, password, nickname | 201, {message: '회원가입을 축하합니다.'} | |
게시물 | 게시물 보여주기 |
/posts | GET | posts [] {text, userId, created_at, comments} | |
게시물 작성 |
POST | text | 201 | ||
게시물 수정 |
/posts/:postId | PUT | text | 201 | |
게시물 삭제 |
DELETE | postId | 201 | ||
댓글 | 댓글 보여주기 |
/comments | GET | postId | 403, forbidden |
댓글 작성 | POST | postId, text | 201 | ||
댓글 수정 | PUT | postId, commentId, text | 200 | ||
댓글 삭제 | DELETE | postId, commentId | 200 | ||
좋아요 | 좋아요 | /posts/:postId/likes | POST | postId | 200 |
좋아요 취소 |
/posts/:postId/likes | DELETE | postId | 200 | |
내정보 | 내 정보 가져오기 |
/profile | GET | userId | { profile } |
내정보 수정하기 |
PUT | userId, nickname, password, intro | 200 |
type | name |
---|---|
개발 언어 | Javascript |
데이터베이스 | MongoDB |
개발 언어 | 웹 프레임워크 |
JS Module | ESM |
라이브러리 | Appliance |
---|---|
React | Front |
dotenv | 포트값외 중요한값 보안처리 |
jsonwebtoken | 암호화 |
Mongoose | MongoDB 데이터 모델링 |
Cors | Request Resource 제한 |
Multer | multipart/form-data 헨들링 |
Socket.io | Chat and Notification |