< 사전준비 >
팀원들과 회의를 시작하기에 앞서 클론 과제인 스택오버플로우 사이트를 찾아보고 어떤 기능들이 있는지, 내가 구현할 수 있는 기능은 어떤 것들이 있을지 생각해 보았다.
먼저 요구사항을 큰 기능 단위로 나누고 세부적인 기능들로 구분하였다.
프론트엔드 부분은 어떤 기능이 구현 가능한지, 어떤 식으로 구분하는 것이 좋은지 판단할 수 없어서 해당 부분은 제외했다.
회의를 통해 서로 할 수 있는 부분, 하고 싶은 부분에 대해 얘기해서 매칭되는 부분을 위주로 진행해야 할 것 같다.
요구사항ID | 요구사항명 | 세부기능ID | 세부기능명 | 상세설명 | 우선순위 | 비고 |
PP-01 | 멤버십 | PP-01-M-01 | 회원가입 | 아이디와 비밀번호를 입력받아 회원가입 요청 처리 | 1 | 아이디 / 비밀번호 유효성 검증 |
PP-01 | 멤버십 | PP-01-M-02 | ID/PW 로그인 | 아이디와 비밀번호를 입력받아 로그인 인증 처리 | 1 | JWT 혹은 세션 적용 |
PP-01 | 멤버십 | PP-01-M-03 | 자동 로그인 | 자동로그인 기능 | 3 | |
PP-01 | 멤버십 | PP-01-M-04 | 소셜 로그인 | 소셜 로그인 기능 | 2 | OAuth2 적용 |
PP-01 | 멤버십 | PP-01-M-05 | 마이페이지 | 본인 정보 및 작성글 목록 조회 | 2 | |
PP-01 | 멤버십 | PP-01-M-06 | 회원정보 수정 | 이름, 자기소개 등 수정 기능 | 3 | |
PP-01 | 멤버십 | PP-01-M-07 | 로그아웃 | 로그인 상태 해제 | 1 | |
PP-01 | 멤버십 | PP-01-M-08 | 회원탈퇴 | 회원 탈퇴 및 계정 비활성화 | 1 | |
PP-02 | 질문 | PP-02-Q-01 | 전체 질문 조회 | 전체 질문 목록 조회 * Paging 적용 | 1 | |
PP-02 | 질문 | PP-02-Q-02 | 질문 검색 | 제목에 특정 키워드 포함한 질문 목록 조회 * Paging 적용 | 3 | |
PP-02 | 질문 | PP-02-Q-03 | 질문 등록 | 텍스트를 이용한 질문 등록 | 1 | |
PP-02 | 질문 | PP-02-Q-04 | 질문 파일 등록 | 질문 등록시 에디터 사용 기능 | 2 | |
PP-02 | 질문 | PP-02-Q-05 | 질문 조회 | 선택한 질문 세부내용 조회 (제목, 내용, 작성시점, 수정시점, 답변 등) | 1 | |
PP-02 | 질문 | PP-02-Q-06 | 질문 수정 | 입력받은 내용으로 질문 수정 (제목, 내용) |
1 | 질문 작성자만 가능 |
PP-02 | 질문 | PP-02-Q-07 | 질문 삭제 | 선택한 질문 삭제 * 추가기능: 답변 있을경우 삭제 불가 |
1 | 질문 작성자만 가능 |
PP-02 | 질문 | PP-02-Q-08 | 태그 | 질문에 태그 추가 | 3 | |
PP-03 | 답변 | PP-03-A-01 | 답변 등록 | 특정 질문에 대한 답변 등록 | 1 | |
PP-03 | 답변 | PP-03-A-02 | 답변 파일 등록 | 답변 등록시 에디터 사용 기능 | 2 | |
PP-03 | 답변 | PP-03-A-03 | 답변 수정 | 입력받은 내용으로 답변 수정 (내용) | 1 | 답변 작성자만 가능 |
PP-03 | 답변 | PP-03-A-04 | 답변 삭제 | 선택한 답변 삭제 * 추가기능: 채택된 경우 삭제 불가 |
1 | 답변 작성자만 가능 |
PP-03 | 답변 | PP-03-A-05 | 답변 채택 | 질문 작성자에 한해 답변 채택 가능 | 3 | |
PP-04 | 댓글 | PP-04-R-01 | 답변 댓글 등록 | 답변에 대한 댓글 추가 | 1 | |
PP-04 | 댓글 | PP-04-R-02 | 답변 댓글 수정 | 답변에 대한 댓글 수정 | 1 | 댓글 작성자만 가능 |
PP-04 | 댓글 | PP-04-R-03 | 답변 댓글 삭제 | 답변에 대한 댓글 삭제 | 1 | 댓글 작성자만 가능 |
PP-05 | 배포 | PP-05-D-01 | 배포 서버 구축 | AWS EC2를 사용한 웹서버 구축 | 1 | |
PP-05 | 배포 | PP-05-D-02 | 배포 자동화 | 프로젝트 배포 자동화 | 3 | |
PP-05 | 배포 | PP-05-D-03 | 파일 저장 | AWS S3를 사용한 파일 저장 | 1 | |
PP-05 | 배포 | PP-05-D-04 | 데이터베이스 저장 |
질문 회원정보 등 데이터베이스 저장 | 1 |
회원과 관련된 기본 기능(가입, 로그인, 로그아웃, 탈퇴)과 질문/답변 CRUD가 주요 기능이라고 생각했다.
인증과 관련된 부분도 적용 되어야하기때문에 마냥 쉽지만은 않을것 같다는 생각이 들었다.
실질적으로 코드를 작성하는 날은 8일이기때문에 어느정도의 선택과 집중이 필요할 것 같다.
회원/질문/답변 관련해서 그럼 어떤 엔티티가 필요할지 생각해보았다.
ERD로 정리해보았는데 일단 생각나는대로 넣어놓은 상태라서 팀원들과 회의를 통해 좀 더 명확해질 예정이다.
ERD(Entity Relationship Diagram)는 개체 관계 다이어그램의 약어로 엔티티의 속성과 엔티티간의 관계를 나타낸 것을 말한다.
ERD를 작성할 수 있는 도구들이 많이 개발되어있는데, 나는 이번에 ERD Cloud를 사용해보았다.
이전에는 코드로 작성하는 dbdiagram.io를 사용했었는데 ERD Cloud는 표에서 바로 내용 작성이 가능해서 비교적 간단했다.
작성된 ERD를 바탕으로 테이블 구조나 SQL문도 어느정도 자동으로 작성이 가능해서 잘 활용하면 도움이 될 것 같다.
그리고 가장 고민이 많이 되는 부문이 API 쪽이다.
이때까지는 교재에서 설정되어있는대로 작성했는데 이제는 직접 규칙도 만들고 서버-클라이언트 사이에 주고받을 형식도 정해주어야한다.
이 부분도 팀원분들과 함께 얘기해봐야겠다.
< 프로젝트 진행 >
오늘은 회의에서 많은 이야기를 나누었다.
각자 생각해본 기능들과 구현 가능여부를 공유하고, 어디까지 구현하는것을 목표로 할지 정했다.
일단 1차적으로 회원 가입 / 로그인 / 로그아웃 등의 기본적인 회원 기능과 질문CRUD, 답변 CRUD를 구현하고자 한다.
이때까지 프론트엔드 / 백엔드 따로 학습을 해왔기때문에 서로 어떻게 소통할지에 대한 고민이 필요할 것 같다.
오늘 각자 생각해보고 내일 모여서 이야기를 해보기로 했다. 그래도 새롭게 해보는 일이라 그런지 어려운 부분도 있지만 재밌기도하다.
이제 실제로 무언가를 설계하고 (물론 이미 있는 서비스를 구현하는거라 비교적 간단한 내용이지만) 구현해본다는게 좋은것같다.
내일까지 설계 부분을 어느정도 마무리하고 업무분장을 나눠서 금요일부터는 구현에 들어갈 수 있었으면 좋겠다.
'부트캠프 개발일기 > Pre-Project' 카테고리의 다른 글
86일차: Pre-Project Day 6 (회원가입 기능 구현, 암호화) (0) | 2023.06.16 |
---|---|
85일차: Pre-Project Day 5 (이슈 설정, 역할 분담) (0) | 2023.06.15 |
83일차: Pre-Project Day 3 (프로젝트 관리) (0) | 2023.06.13 |
82일차: Pre-Project Day 2 (GitHub 다루기) (0) | 2023.06.12 |
81일차: Pre-Project Day 1 (팀빌딩) (0) | 2023.06.09 |