반응형
🔥 Intro: “본격적인 팀 프로젝트 시작합시다!”
"Instagram 클론 코딩" 프로젝트 S.A.(Starting Assignment)
B5팀 - OB
⭐팀장⭐ : 이현지
⭐팀원⭐ : 손상훈 , 유승주, 조인걸, 주세민
역할 분담
- 프로젝트 초기 베이스 작업은 다 같이 진행
- 베이스 내용에 대해 하나씩 같이 작업하여 틀에 대한 개념을 익히기 위함
- 추후 개별 작업 진행 후 푸시할 때 오류 확률이 낮아질 것으로 기대 - 베이스 작업 완료 후 개별 기능들은 인원수에 맞게 나누어 배정
- 개별 기능은 파트를 나누어 진행하기로 의견을 조율 - 본인에게 할당된 기능 부분 작업 완료 후 다른 인원 백업
- 본인 할당량이 끝나는데에서 마치지 않고 팀 프로젝트의 목표에 맞게 도움이 필요한 인원을 이끌어주는 형태로 진행 예정
와이어 프레임
피그마 👉 https://www.figma.com/file/ETabN1ZkTs9j803V7D9D6y/Untitled?node-id=0%3A1
- 로그인 페이지(로그인 기능 구현)
- 회원가입 페이지(회원가입 기능 구현)
- 메인 화면
- 홈버튼
- 검색
- 게시물 작성
- 좋아요
- 프로필
노란색 필수 구현사항
연두색 추가 구현사항
화면 구성
로그인/회원가입 화면
메인화면
게시글작성 / 게시글상세페이지
프로필 / 프로필 - 좋아요목록
팔로우 목록
프로필 편집
DB설계
USER
인스타 로그인 기능 구현을 위해 총 8가지의 정보를 받아 DB에 저장한다.
- 아이디(Username) : PK
- 이메일(Email)
- 성명(Fullname)
- 패스워드(Password)
- 바이오(bio)
- 전화번호(phone)
- 프로필이미지(profile_image))
POST
게시글 기능 구현을 위해 총 5가지의 정보를 받아 DB에 저장한다.
게시글번호 를 기본키로 갖고, USER모델의 아이디를 외래키로 갖는다.
- 게시글번호(id) : PK
- 내용(content)
- 생성일자(created_at)
- 수정일자(updated_at)
- 유저아이디(username) : User모델의 FK
COMMENT
댓글 기능 구현을 위해 총 5가지의 정보를 받아 DB에 저장한다.
댓글번호를 기본키로 갖고, USER모델의 아이디, POST모델의 게시글번호를 외래키로 갖는다.
- 댓글번호(id)
- 내용(content)
- 생성일자(created_at)
- 게시글번호(post_id) : POST 모델의 FK
- 유저아이디(username) : User모델의 FK
LIKE
좋아요 기능 구현을 위해 총 3가지의 정보를 받아 DB에 저장한다.
좋아요를 기본키로 갖고, USER모델의 아이디, POST모델의 게시글번호를 외래키로 갖는다.
- 좋아요ID(id) : PK
- 아이디(username) : User모델의 FK
- 게시글번호(post_id) : POST 모델의 FK
FOLLOW
팔로우 기능 구현을 위해 총 3가지의 정보를 받아 DB에 저장한다.
팔로우를 기본키로 갖고, USER모델의 아이디들을 외래키로 갖는다.
- 팔로우id(id) : PK
- 아이디(Username) : User모델의 FK
- 아이디(Username2) : User모델의 FK
API 설계
기능 | 메소드 | URL | request | response |
로그인 | POST | /users/sign-in | {‘username’ : username, ‘pw’ : pw} |
redirect(“/”) |
회원가입 | POST | /users/sign-up | {‘username’ : username, ‘pw’ : pw, ‘pw-valid’ : pw-valid, ‘email’: email, ‘fullname’ : fullname} |
redirect(“/sign-in”) |
프로필 수정 | POST | /users/update/<username> | {‘username’ : username, ‘email’: email, ‘fullname’ : fullname, ‘website’: website, ‘bio’:bio, ‘phone’:phone, ‘profile_image’:profile_image} |
redirect(“/users/edit”) |
비밀번호 변경 | POST | /users/password/<username> | {‘username’:username ‘current-pw’: current-pw ‘pw’ : pw, ‘pw-valid’ : pw-valid} |
|
전체게시글 조회 | GET | /post | PostModel | |
내 게시글 조회 | GET | /post/<username> | {‘username’:username} | PostModel |
게시글 작성 | POST | /post | {‘content : content} | |
게시글 수정 | POST | /post/update/<id> | {‘id’ : id, ‘content : content} |
|
게시글 삭제 | GET | /post/delete/<id> | {‘id’ : id} | |
댓글 조회 | GET | /comment/<post_id> | {‘post_id’:post_id} | CommentModel |
댓글 작성 | POST | /comment/create/<id> | {comment : “댓글 내용”} | |
댓글 삭제 | GET | /comment/delete/<id> | {‘id’ : id} | |
좋아요 목록 | GET | /like/ | {‘username’:username} | LikeModel |
좋아요 추가 | POST | /like/<post_id> | {‘username’:username, ‘post_id’,post_id} |
|
좋아요 취소 | GET | /like/delete/<id> | {‘id’ : id} | |
팔로우 목록 | GET | /follow/followee | FollowModel | |
팔로우 추가 | POST | /follow | {} | |
팔로우 취소 | GET | /follow/delete/<id> | {id : id} |
반응형
'스파르타코딩클럽 > 내일배움캠프' 카테고리의 다른 글
[내일배움캠프 AI] B5팀 - "Instagram 클론코딩" KPT 회고 (1) | 2022.10.11 |
---|---|
[내일배움캠프 AI] B5팀 - "Instagram 클론코딩" 프로젝트 결과물 (0) | 2022.10.11 |
[내일배움캠프 AI] B7팀 - 미니프로젝트 KPT 회고 (1) | 2022.08.31 |
[내일배움캠프 AI] B7팀 - 미니프로젝트 결과물 (1) | 2022.08.31 |
[내일배움캠프 AI] B7팀 - "팀소개 웹페이지" 미니프로젝트 S.A. (0) | 2022.08.26 |