<Project 3 - Richmaker >
기간 : 3주
팀원 : 프론트 2명 (PM) / 백엔드 5명
필수 구현 사항 : 로그인, 회원가입, 테스트 코드, 메인페이지, 공동관리 페이지, 마이데이터(구현), 거래내역 리스트
우리의 서비스 ERD 다.
먼저 우리 고객의 필요한 정보는 CI/ 이름 / 핸드폰번호 / 비밀번호 / 그룹 ID / 공유 여부 로 정리하였다.
이 후 기획한 서비스를 큰 틀로 나누어 봤다
1) 메인 (개인의 자산)
2) 마이페이지 (개인 정보 수정)
3) 공동관리페이지 (공동 계좌 관리)
그러면 메인에서는 어떤 것이 필요할까 나누어 봤을때
불러온 금융정보와 거래내역 , 카테고리 , 금융권 정보로 나누었고
불러온 금융정보는 user_finances
거래내역은 transactions
금융권정보 providers 와 카테고리 categories
이 정도로 구성했고
위 내역에서 저장된 데이터를 기반으로
그룹 정보 / 그룹에 공유된 금융정보 이렇게 두 가지
그룹 정보 groupings
공유된 금융정보 groupings_shared
이렇게 구성했다
.
.
.
.
.
.
.
.
.
(프로젝트 마무리 후)
아쉬움이 많이 남는 데이터베이스 관계도였다.
먼저 groupings_shared에 여부 자체가 의문이였다.
user_finances 또는 providers와 연결 지어서 사용했다면 조금 더 query를 사용 할 때 편한감이 있지 않을까 싶었다.
그 다음으로 user_finances
users 와 transactions 사이에 금융 정보만 가지는 테이블이 필요했다. 그런데 컬럼이 좀 아쉽게 짜여져서 몇 가지를 수정했다면 더 수월하게 코드를 짜지 않았을까 싶었다.
그 동안의 1,2차 프로젝트들은 DB를 수정하기 싫기도 했고 코드적으로 해결을 하려고 했다. 그 결과 가독성이 떨어지며 효율조차 떨어지고 복잡한 코드 구성이 되어버린다는 것을 많이 느꼈다. 1,2차 때는 그저 어려워서 느끼지 못했지만 기획부터 시작해보며 왜 DB를 시니어 이상의 직급들만 참여하는지에 대해 뼈저리게 느꼈고 그만큼 중요하며 프로젝트 진행에 매우 큰 역할줄 하기 때문이였다.
다음에 프로젝트를 진행할 때는 더 신중히 구조를 짜야겠다.