프로젝트 주제가 정해졌다고 해서 바로 개발에 들어가는 것이 아니였다.
개발 시작 전 방향성을 잡기 위해 프로젝트 기획단계를 거쳐야한다.
스프린트, 플로우차트, 시스템 아키텍쳐 설계, ERD 작성, API 명세서 작성 이렇게 5단계로 진행했다.
#1 스프린트
쉽게 말해 계획서이다. 해야 할 일들을 나열하고 우선순위를 정한 후 어떤 순서로 해나갈지를 표로 정리한다. 한번 적고 정리하면 기존에 머리속으로 정리했던 것보다 해야 할 일이 명확해지고 구체적인 프로젝트의 흐름이 보인다.
#2 플로우차트
개발을 어떤 순서로 무엇에 우선순위를 두고 진행할지 정했다면, 개발 할 서비스를 구체화 해야한다. 플로우차트를 이용하여 그려볼 수 있다. 예를 들어 '로그인을 하면 어떤 페이지가 나오고, 그 페이지에서 이 기능을 사용할 수 있고 이후에는 어떤 기능을 사용할 수 있다'와 같은 형식으로 작성하면 보기 편하다.
백엔드 개발 뿐만 아니라 프론트엔드 팀에서 페이지를 만들 때에도 큰 도움이 되기 때문에 두 팀간의 충돌도 줄일 수 있고 원활한 개발을 가능하게 한다.
초기 작성한 우리 서비스의 플로우 차트이다. 개발을 하며 플로우차트는 얼마든지 수정 될 수 있다!
#3 시스템 아키텍쳐
이제 개발의 흐름은 잡혔다. 어떻게 구체화를 해야할까?
우선 어떤 프레임워크, 언어, 기술들을 이용할지 고민해봐야 한다. 우리 서비스의 경우 Django 프레임워크를 사용하며 MySQL을 DB로, 웹서버는 Nginx로 사용했다. 물론 다른 프레임워크 다른 DB를 사용할 수 있다. 개발을 시작하기 전 팀원들과 어떤 기술들을 사용해 나갈지 정하는 과정이다. 그리고 그림으로 표현하면 어떤 기술끼리 연결되고 어떤 흐름으로 서비스가 동작하는지도 이해하기 편하다.
#4 ERD 구성
다음은 ERD 구성이다. 어떻게 데이터베이스를 꾸려나갈지 우리 서비스의 업무 내용을 분석하여 표현하는 것이다. ERD에 관해서는 따로 글을 작성 할 예정이다. ERD 작성에는 약속된 표기법이 있고 그 표기법을 따라야한다. 또한 기본키, 외래키 등 DB 마이그레이션에 관한 구분을 잘 해놓아야 오류가 발생하지 않는다.
처음 ERD를 작성하다보니 머리로는 이해해도 막상 만들지 못하는 부분도 많았고 키를 설정하는 과정에서 헷갈리는 부분도 많았다. 하지만 글로 공부하는 것 보다는 틀리더라도 직접 만들어 보는것이 이해하는데 더 도움이 되므로 만들어 보는 것을 추천한다. (ERD 작성시 DB 그대로를 그려넣는것도 규칙상 어긋나는 것이라고 하는데 아직 그 부분까지 완벽하게 구분 하지 못해 아래의 ERD도 완벽지는 않다고 생각한다.)
#5 API 명세서 작성
개발 시작이다! 이제 백엔드 팀 내에서 각자 task를 나누고 RESTful API 규칙에 맞춰 어떤 API들을 개발해야 할 지 적어서 정리한다. 또한 작성하면서 나중에 요청을 보냈을 때의 request body와 response body를 어떻게 꾸려 나갈지도 미리 정해서 정리한다. 또한 Endpoint도 같이 작성하면서 서로의 규칙을 맞춰야 한다. Endpoint 설정에도 정해진 규칙들이 있으니 잘 찾아보고 맞춰서 작성하자.
백엔드 개발을 하면서도 계속 확인하면서 개발을 하게 되므로 잘 작성해 놓는것이 중요하다. 물론 개발을 하면서 수정이 불가피하지만 처음에 틀을 잘 잡아놔야 개발을 차질없이 진행할 수 있다!
이렇게 개발 준비가 끝났다. 이제는 진짜 API 개발에 들어가면 된다. 시작이 반이라는 말이 있듯이 여기까지 완료해도 굉장히 큰 일을 해낸 것이다. 앞으로 개발도 잘 해내보자~
'프로젝트 😎 > 2024_Summer_Bootcamp⛱' 카테고리의 다른 글
Ep5-1. AWS S3 버킷 설정하기 (0) | 2024.08.15 |
---|---|
Ep4. 백엔드 API 개발 (0) | 2024.08.11 |
[회고] 2024 테커 여름 부트캠프 (0) | 2024.08.03 |
EP2. Node.js 와 Django (0) | 2024.07.24 |
Ep1. 아이디어 회의 (0) | 2024.07.24 |