이번 프로젝트는 그동안 공부해본 기능들을 종합하여 가능한 완성도 높은 프로젝트를 개발해보기 위해 차근차근 기획을 시작해보았다.
이번에는 특이하게 각자 관심 있는 부분이나 구현해보고 싶은 내용을 먼저 이야기해보고, 이를 적용해볼 수 있는 프로젝트를 구상해보는 것으로 시작해보았다.
이야기해보며 나왔던 기능들은
지난 프로젝트들과는 다르게 기간을 넉넉하게 두었기 때문에 가능한 많은 것을 도전해보고 많은 것을 배워보고 싶었다.
내가 제안해본 아이디어는 학원 업무의 경험을 살려 다음과 같은 학원 관리 프로그램을 기획해 보았다.
기능:
- 지점별 관리 페이지 설정
- 멤버 관리
- 원장 / 매니져 / 강사 / 학부모 / 원생- 커리큘럼 ( 과목 ) 관리
- 정규 과목 ( 분기별 수강 신청 )
- 이벤트성 특강 과목 ( 특정 기간 일시적 수강신청 )필요 기술:
- 동시성 필요 ( 분기별 / 이벤트 과목 수강 신청 )
- OAuth 멤버 관리
- 동적쿼리 - 특정 조건에 맞는 원생 목록 조회
- 관계성 정의
고려사항:
- 서비스적 측면에서 다양한 편의 기능을 제공할 수 있도록 고민 필요
하지만 주요 관점이 제공하는 "서비스"에 치중이 될 것 같고, 프론트엔드와 연계한 "편의성" 이 포인트가 될 것 같아 다른 아이디어를 고민해보기로 했다.
회의 끝에 선택된 프로젝트는 인터파크의 티켓팅으로, 동시성 제어와 대기시간, 캐시를 구현해보기 적당할 것으로 판단했기 때문이다.
주제를 정하며 팀 규칙도 함께 의논하며 정해나갔다.
Feat : 새로운 기능을 추가하는 경우
Fix : 버그를 고친경우
Docs : 문서를 수정한 경우
Style : 코드 포맷 변경, 세미콜론 누락, 코드 수정이 없는경우
Refactor : 코드 리펙토링
Test : 테스트 코드. 리펙토링 테스트 코드를 추가했을 때
ex) #1 Feat : 유저 로그인 기능 개발
main
dev
hotfix/~~
feature/user
feature/comment ...
다시 프로젝트로 돌아와서, 티켓팅을 위한 공격대! Ticket Raider 라고 이름을 짓고 레이더(Radar) 와 동음이의어 같은 느낌으로 티켓을 감지해내는! 느낌도 주어보았다.
https://www.design.com 에서 AI 로고 생성을 통해 적절하게 만들어본 로고
ERD 에 대해서도 고민이 많았다. 바로 눈에 보이는 분류로는
유저 / 공연 / 티켓 / 리뷰 정도가 있었으나 세부적으로 구현 방법을 고민하다 보니 테이블을 분리하기도 하고, 단방향-양방향 설계를 어떻게 도입할 지..
이에 대한 내용은 따로 정리해서 올려보아야겠다.
세미콜론 수정 같은 게 있다니 백엔드는 prettierrc 안쓰나요