[2024.07.23 TIL] 내일배움캠프 69일차 (최종 팀프로젝트, 로직 흐름도 및 순서도 작성, API 명세서 및 ERD 작성)

My_Code·2024년 7월 23일
0

TIL

목록 보기
84/112
post-thumbnail

본 내용은 내일배움캠프에서 활동한 내용을 기록한 글입니다.


💻 TIL(Today I Learned)

📌 Today I Done

✏️ 로직 흐름도 및 순서도 작성

  • 전체 로직에 대한 흐름도 및 핵심 기능에 대한 순서도를 작성함

  • 이번 프로젝트의 핵심 기능은 사용자가 표를 예매하고 그 표를 중고 거래 할 수 있다는 부분임


✏️ API 명세서 작성


✏️ ERD 작성



📌 Tomorrow's Goal

✏️ 기능 개발 일정 작성

  • 기능 개발 일정은 각 기능마다 언제까지 해당 기능이 완료될지 표현할 예정

  • 기능 개발 일정은 간트 차트를 이용해서 이해하기 쉽도록 작성할 예정

  • 프론트를 구현할 것이기 때문에 그 기간을 염두해 둘 것


✏️ 프로젝트 초기 세팅 및 CI/CD

  • 기본적인 Nest.js 나 TypeORM 등의 설치를 진행함

  • 그리고 추후에 배포 시 개발 시간을 절약하기 위해서 미리 CI/CD를 추가할 예정

  • CI/CD는 GitHub Actions를 이용할 예정


✏️ 엔티티 및 DTO 구상하기

  • 프로젝트 초기 세팅 및 CI/CD를 구현하는 동안 진행될 예정

  • 따로 엔티티나 DTO가 어떻게 구성될지 작성할 예정


✏️ 컨트롤러, 서비스에 메서드 틀 구현하기

  • 지난번 과제에서 컨트롤러나 서비스의 메서드들이 형식이 맞지 않아서 많은 오류가 발생함

  • 이번에는 이러한 시간을 단축하기 위해서 미리 다 같이 모인 자리에서 컨트롤러, 서비스의 기본적인 메서드 틀을 구현할 예정



📌 Today's Goal I Done

✔️ 전체 로직 흐름도 및 순서도 작성

  • 3일차 프로젝트 설계를 진행함

  • 오늘은 API 명세서와 ERD 작성에 들어가기 전에 전체적인 로직의 흐름도를 작성함

  • 이를 통해서 어떤 기능들이 필요하고 어떤 흐름으로 이 서비스가 진행되는지 알아야 하기 때문에 전체 로직의 흐름도를 작성함

  • 순서도 역시 이 서비스에서 핵심 기능이라고 생각하는 티켓 예매와 티켓 중고 거래에 대해 작성함


✔️ API 명세서 및 ERD 작성

  • 와이어프레임과 흐름도를 바탕으로 필요한 API가 무엇이 있는지 API 명세서에 기록함

  • 이를 통해서 팀원들과 어떤 API에서 어떤 기능을 하고, 어떤 URL를 사용하는지 규칙을 정하는 과정임

  • 생각보다 API의 수가 많지 않지만 해당 기능마다 많은 관계가 있기 때문에 유의해야 함

  • 사실 ERD에서 대부분의 시간을 사용함

  • ERD는 이 프로젝트의 뼈대가 되기 때문에 무엇보다 중요하다고 할 수 있음

  • 이 과정에서 팀원들과 많은 고민을 했고 충분히 의견을 나눠서 작성함


✔️ 프로젝트 설계에 대한 튜터님의 피드백

  • 와이어프레임, 서비스 정책, 흐름도, API 명세서, ERD에 대한 피드백을 받음

  • 내용이 너무 많기에 간단하게 정리함

  • 일단 와이어프레임은 생성, 수정하는 페이지가 많이 부족해서 해당 기능에 대한 와이어프레임을 수정함

  • 흐름도에서는 중고 거래 게시물 작성 및 거래 진행 시 해당 티켓이나 공연이 유효한지 판단하는 로직이 추가로 필요하다고 말씀하셨음

  • API 명세서에서는 주로 RESTful하게 URL이 구성되도록 피드백을 주셨음

  • 공연 목록 조회와 공연 검색은 하나의 API에서 진행되는 게 좋다고 하셨음

  • 그리고 이미지 업로드하는 기능은 다른 곳에서도 사용되기에 아에 엔드포인트를 따로 사용하라고 하셨음

  • 기존에 reservation이라는 표현보다는 ticket이라는 표현으로 수정하라고 하셨음

  • ERD에서는 Soft Delete와 Hard Delete해야 하는 데이터를 구분해야 한다고 말씀하셨음

  • 그리고 join을 사용해서 데이터의 중복을 줄일 수 있다고 하셨음

  • 이 후에는 추가적으로 진행해야 할 부분에 대해서 과정을 설명해 주셨음


profile
조금씩 정리하자!!!

0개의 댓글