프로젝트/42프로젝트

어떻게 개발할 것인가?(모닝글로리 웹서비스 제작2)

susong 2022. 11. 17. 13:52
728x90

 

첫 회의 이후

우리 팀은 고뇌를 거쳐 어떻게 API를 만들 것인지 설계했다.

 

우리는 제작자이면서도 가장 열성적인 사용자가 될 것이기에, 어떻게 제작해야 인원 확인(페이지의 목적)을 잘 처리할 수 있을지 고민했고, FIGMA에 오른쪽 사진처럼 열심히 구현하려 노력했다.

 

모두 좋은 계획에 좋은 제품이 나온다고 믿었기에, 계획을 짜는 과정은 매우 순조로웠다. 주 3회 이상 총 7회의 회의를 진행했고 운영진의 입장과 사용자의 입장에서 가장 효율적이고 인지하기 쉬운 디자인을 짜냈다.

 

아직 완벽하지는 않지만, 사용하면서 더욱 더 잘 해낼 수 있을 것이라 믿으며 우리 팀은 UI/UX에 대한 논의를 마쳤고, 이제는 어떻게 짤 것인가에 대한 고민으로 넘어갔다.


어떻게 구현할 것인가?

목표는 이제 정해졌다.

그렇다면 백엔드/프론트엔드 각각 팀들은 각각 목표를 위해 어떻게 달려 나갈 것인가?

 

백엔드에는 JAVA의 Spring 혹은 express 아니면 js에 있는 다양한 백엔드 프레임워크, 혹은 파이선의 장고 등등 여러 가지 선택지 중에 어디로 갈지에 대한 고민이 시작되었고,

 

프론트는 TypeScript에는 이견이 없었지만, 바닐라로 할 것인지 아니면 Vue 혹은 React에 대한 고민이 이어졌다. 

 

고민의 과정에서 백엔드는 Nest.js를 사용하는 것으로 그리고 프론트는 React를 사용하는 것으로 결정되었다.

DBMS는 Postgresql로 결정되었다.


왜 이것들로 결정했는가?

프레임워크 혹은 라이브러리를 결정함에 있어서 우리에게 가장 중요한 요소는 '학습의 지속성'이었다.

 

앞으로 커리어를 이쪽으로 나갈 사람들로서 이번에 배운 것이 향후 우리에게 어떤 영향을 줄 수 있을 것인가?

혹은 이번에 배운 것을 다른 방향으로 이어나갈 수 있을 것인가?

 

이 간단한 질문을 기반으로 도구를 정하니 쉽게 정할 수 있었다.

 

모두가 42서울이라는 하나의 공동체에서 Inner라는 학습코스를 밟고 있기에 우리의 마지막 과제인 트센(온라인에 핑퐁게임 배포하기)에 사용할 수 있는 도구를 원했고, 또 공부한 내용으로 다른 것들을 만들기 쉬워야 했다.

 

우리가 만드는 사이트는 정적인 기반이기에, 프론트 담당으로서 Vue를 선택하는 것이 더 좋은 선택지일 수 있지만 더많은 레퍼런스와 커뮤니티가 있는 React가 첫 프론트 라이브러리로는 적합할 것이라고 생각했고, 동료 분도 존중해주셨다.

 

DB는 RDMBS에 대한 학습 차원 및 우리의 데이터가 유저를 기반으로 Relation을 가진다는 점에 착안해서 Postgres로 결정되었다.

실제로 나는 대학교 수업 때 해당 DBMS를 이용해본 경험도 있어서, 더욱 편안하게 할 수 있을 것 같다.

 


앞으로 무엇을 하는가?

생각하는 DB구조를 설명하는중

앞으로 우리는 각자 영역에서 충분한 학습을 하고 개발을 진행할 것이다.

 

개발에 필요한 룰들은 모두 충분한 회의를 통해 정립되었고, 이제 공부만 할 차례다.

 

정해진 룰들

- Git commit은 어떻게 할 것인가?

- 소스 관리는 어떻게 할 것인가?

- 배포 및 배포 일정은 어떻게 할 것인가?

 

나 또한, React에 대한 내용을 충분히 학습해서 바로 개발할 수 있을 정도로 수준을 높일 예정이고, 또 나는 AWS아키텍처를 담당하게 되어서 그 부분에 대해서도 고민하고 있다.

 

AWS를 여러 번 다루어봤지만, EC2 및 IP정도만 다루어보고 다른 툴들은 사용해보지 않아서, 많은 공부를 해야 될 것 같다.

100명 내외의 인원에게 제공되는 서비스인 만큼 스케일링에 유의하며 개발해보려 한다.

 

우리의 배포 일정은 12.1 우리에게는 시간이 많이 남지 않았다.

수 많은 회의 중 하나 상단에 "오늘의 목표"인 오목이 작성되어있다.

다음 글에서 계속

728x90