본 내용은 내일배움캠프에서 활동한 내용을 기록한 글입니다.
전체 로직에 대한 흐름도 및 핵심 기능에 대한 순서도를 작성함
이번 프로젝트의 핵심 기능은 사용자가 표를 예매하고 그 표를 중고 거래 할 수 있다는 부분임
기능 개발 일정은 각 기능마다 언제까지 해당 기능이 완료될지 표현할 예정
기능 개발 일정은 간트 차트를 이용해서 이해하기 쉽도록 작성할 예정
프론트를 구현할 것이기 때문에 그 기간을 염두해 둘 것
기본적인 Nest.js 나 TypeORM 등의 설치를 진행함
그리고 추후에 배포 시 개발 시간을 절약하기 위해서 미리 CI/CD를 추가할 예정
CI/CD는 GitHub Actions를 이용할 예정
프로젝트 초기 세팅 및 CI/CD를 구현하는 동안 진행될 예정
따로 엔티티나 DTO가 어떻게 구성될지 작성할 예정
지난번 과제에서 컨트롤러나 서비스의 메서드들이 형식이 맞지 않아서 많은 오류가 발생함
이번에는 이러한 시간을 단축하기 위해서 미리 다 같이 모인 자리에서 컨트롤러, 서비스의 기본적인 메서드 틀을 구현할 예정
3일차 프로젝트 설계를 진행함
오늘은 API 명세서와 ERD 작성에 들어가기 전에 전체적인 로직의 흐름도를 작성함
이를 통해서 어떤 기능들이 필요하고 어떤 흐름으로 이 서비스가 진행되는지 알아야 하기 때문에 전체 로직의 흐름도를 작성함
순서도 역시 이 서비스에서 핵심 기능이라고 생각하는 티켓 예매와 티켓 중고 거래에 대해 작성함
와이어프레임과 흐름도를 바탕으로 필요한 API가 무엇이 있는지 API 명세서에 기록함
이를 통해서 팀원들과 어떤 API에서 어떤 기능을 하고, 어떤 URL를 사용하는지 규칙을 정하는 과정임
생각보다 API의 수가 많지 않지만 해당 기능마다 많은 관계가 있기 때문에 유의해야 함
사실 ERD에서 대부분의 시간을 사용함
ERD는 이 프로젝트의 뼈대가 되기 때문에 무엇보다 중요하다고 할 수 있음
이 과정에서 팀원들과 많은 고민을 했고 충분히 의견을 나눠서 작성함
와이어프레임, 서비스 정책, 흐름도, API 명세서, ERD에 대한 피드백을 받음
내용이 너무 많기에 간단하게 정리함
일단 와이어프레임은 생성, 수정하는 페이지가 많이 부족해서 해당 기능에 대한 와이어프레임을 수정함
흐름도에서는 중고 거래 게시물 작성 및 거래 진행 시 해당 티켓이나 공연이 유효한지 판단하는 로직이 추가로 필요하다고 말씀하셨음
API 명세서에서는 주로 RESTful하게 URL이 구성되도록 피드백을 주셨음
공연 목록 조회와 공연 검색은 하나의 API에서 진행되는 게 좋다고 하셨음
그리고 이미지 업로드하는 기능은 다른 곳에서도 사용되기에 아에 엔드포인트를 따로 사용하라고 하셨음
기존에 reservation이라는 표현보다는 ticket이라는 표현으로 수정하라고 하셨음
ERD에서는 Soft Delete와 Hard Delete해야 하는 데이터를 구분해야 한다고 말씀하셨음
그리고 join을 사용해서 데이터의 중복을 줄일 수 있다고 하셨음
이 후에는 추가적으로 진행해야 할 부분에 대해서 과정을 설명해 주셨음