아이디어 회의 때 결정한 내용을 바탕으로 일주일 간 프로젝트 설계를 진행하였다.
첫 번째 회의가 끝나고 집에 돌아가서 팀원들이 조사한 내용을 공유할 수 있도록 구글 스프레드 시트를 만드는 것부터 시작하였다.
프로젝트 개요 탭
DATA 탭
그리고 또 다른 협업 툴로 노션을 이용했는데, 노션에는 프로젝트 요구사항과 일정 관리 등을 중점적으로 작성했다.
노션에 작성한 내용은 다음과 같다.
- 코드 작성 원칙
- 프로젝트 개요
- 업무 분담
- 테이블 설계
- 참고자료
- 협업 툴 링크(스프레드 시트, 디스코드)
- 프로젝트 타임라인
- 코드 작성 원칙: 요구사항, 네이밍 규칙, Git 관련 규칙 작성
일관성 있는 코드를 작성하기 위해 기본 규칙을 만들었다.
- 업무 분담: 각자 맡은 파트와 파트별 상세 요구사항
팀원들의 희망사항과 각자의 장단점을 고려하여 파트를 분배하였다.
프론트와 백으로 나눌 수가 없어(백엔드 위주의 교육과정이었음) 각자 맡은 부분은 프론트와 백을 모두 하기로 했다.
- 테이블 설계: 테이블과 필드, 제약조건 등의 DB 설계
구현하기로 한 기능은 팀원들과 의논하여 함께 결정했지만 테이블을 각자 설계하면 일관성이 없고 수정해야 할 상황이 많이 생길 것 같아 내가 설계하였다. 총 27개의 테이블이 설계되었다.
플로우차트로 보면 대략 이런 느낌이 될 것이다. (팀원A가 작성)
디자인은 역시 부트스트랩의 도움을 받기로 했는데, 네개의 후보 중 하나를 선택하였다.
이 템플릿을 기본으로 사용하면서 필요한 부분은 우리의 프로젝트에 맞게 수정할 것이다.
메인 화면
상세 페이지 중 일부분
프로젝트 설계를 하는 동안 팀원들이 자료 조사를 모두 잘해주었다.
자료 조사가 끝나면 각자 맡은 기능을 어떻게 구현할 지 고민해 보기로 했는데,
팀원 B가 맡은 소셜 로그인 구현에 어려움이 있을 것 같다고 하여 우선 기본적인 회원가입 및 로그인 기능부터 구현하고
시간적 여유가 있으면 해 보자고 했다.
또 한가지 문제가 더 있었는데, 배포를 하기 힘들 것 같다는 결론을 내렸다.
AWS로 배포를 하려고 했는데, 경험이 없어 배포에 시간이 꽤 소모될 터였다.
프로젝트 기간은 4주 정도로 촉박했고, 내가 예상한 프로젝트 일정은 다음과 같았다.
- 프로젝트 설계 및 자료 조사(1주)
- 기능 구현 및 테스트(2.5주)
- 발표 자료 작성 및 시연 영상 제작(0.5주)
- 배포(???)
도저히 기간 내 해낼 수 없다는 결론이 나와서 아쉽지만 이번 프로젝트는 계획했던 기능 구현만이라도 잘해보자!로 되었다.
심지어 다른 팀들은 프로젝트 설계를 하는 동안에 이미 기능 구현 단계에 들어가 있었다. 😂😂
하지만 조금이라도 더 많은 부분을 고려하여 최대한 변경될 일이 없도록 하고자 했고, 이를 위해 최소한의 설계 기간은 반드시 필요하다 생각했다.
열심히 해보자!