42seoul_Open project 회고록

MinbeomSeo·2021년 12월 21일
0

42seoul_project

목록 보기
1/1
post-thumbnail

오픈 프로젝트 결과

홈페이지: https://jecheol42.herokuapp.com/
시연영상: https://youtu.be/hERhz800fU8

오픈 프로젝트란?

42seoul에서 진행한 프로젝트로 카뎃들이 소프트웨어 프로젝트 산출물 하나 이상을 가질 수 있게 기회의 장을 열어 준 프로젝트이다.

프로젝트 기간

8월 9일부터 23일까지 접수를 받았고, 26일에 간단한 계획발표를 했다.
10월 28일에 중간발표를, 12월 9일에 최종발표를 하기로 첫 공지가 났다.

결론적으로는 일정이 재단 사정으로 당겨져 11월 24일에 최종발표를 하게 되었다.

참여 계기

이때의 나는 minishell(이라고 쓰고 minihell로 읽는) 과제에 대한 슬럼프가 짙게 온 상태였다. 42seoul 본과정을 일 년간 진행하며 친밀해진 카뎃들과 함께 무언가 하고 싶다는 생각도 있었지만, minishell에서 도피하고 싶은 마음도 있었던 것 같다.

팀 과채파

42seoul 본과정 기간동안 친밀해진 카뎃 6명과 함께 팀이 되었다.
팀명이 과채파인 이유는 모두 과채류를 슬랙 이미지로 쓰고 있었기 때문이다.
프로젝트 아이디어마저 과채와 관련 되었으니 이전부터 이런 이미지를 쓰며 생활한 건 운명이었을지도...

제철42

제철42 소개


제철42란, 1~2인 소가구를 대상으로 제철 수확물에 대한 정보를 제공하고, 지역 공동체 활성화를 추구하는 커뮤니티형 웹 사이트이다.

제철42에서의 내 역할

인원이 7명이었기에 초반에는 웹/앱/백엔드 로 팀을 나누었다가 차후에 멘토링을 통해 프로젝트의 볼륨이 너무 크다는 피드백을 받게 되었고, 과감하게 앱을 포기하면서 프론트엔드 3명과 백엔드 4명으로 팀이 구성되었다.
이전부터 프론트보다는 백엔드를 하고 싶었기에 자연스럽게 백엔드 팀에 들어갔다.
백엔드 팀은 각자 코드를 짠다기보다 한 기능을 위해 모두 한 화면을 보며 같이 공부하고 같이 고민하는 쪽으로 기능을 구현했다.
다만 그 중에서도 각자 주로 맡은 기능이 생겨났는데 나는 product 작업을 중점적으로 담당했다.

제철42 Backend

백엔드는 python/Django 로 진행되었는데, 이 프로젝트가 시작되던 8월 말, 백엔드에서는 python과 django를 다룰 수 있는 사람이 아무도 없었다.
하지만 프로젝트를 진행하면서 공부가 될 것이고 c언어와는 또 다른 느낌의 언어를 배우고 싶었기 때문에 백엔드 언어로 python이 선정되었다.

9월 한 달은 python 공부에 전념하였다. 완전히 새로운 언어를 배운다는 것에 대한 공포인지 미지의 영역을 어떻게 해야하는 건지 모두 모르는 상태에서 시작해서인지 첫 한 달은 기능적 구현이 전혀 되지 않았다.

10월 8일, 백엔드 전문가인 멘토님과의 대화를 통해 일단 배포하라 라는 조언을 듣고 이때부터 서버에 띄우기 위한 작업을 진행하였다

AWS vs Heroku

처음에는 42seoul에서 제공해주는 AWS를 사용하려고 했다.
하지만 오픈프로젝트 기간이 끝나면 AWS에 대한 결제는 우리 스스로가 해야하는데 금액적인 부분을 생각하면 무료인 Heroku를 쓰는 것이 메리트가 있다는 이유로 결국 우리 프로젝트는 Heroku를 사용하기로 했다.

mySQL vs postgreSQL

Heroku를 선택한 이후 DB에 대한 고민도 있었다. 처음에는 자료가 많고 이전에 ft_server를 통해 사용한 mySQL을 선택하려했지만 Heroku에서 제공하는 mySQL의 용량과 postgreSQL의 용량 차이가 너무 커서 (5mb vs 1GB) postgreSQL로 DB를 선택하게 되었다.

11월, 그리고 CRUD

10월 한 달은 서버에 올리고, 서버에 DB의 값들이 어떤 식으로 보여지고 우리가 이 데이터들을 어떻게 처리해야할지에 대한 고민을 해결하는 시간이었다. 때문에 정말 '백엔드'적인 작업은 11월부터 진행하게 되었다. 프론트엔드와 소통할 수 있게 Django-restframework를 공부하였고, 우리가 10월에 한 작업이 프론트엔드처럼 작업한 것이었다는 실수를 만회하려 더 열심히 노력하였다.

Django-swagger (drf-yasg)

CRUD가 어느정도 완성되어 가지만 테스트 할 곳이 없던 백엔드팀에게 이게 정말 '작동'하는가 가시적으로 보여주고 도움이 된 swagger는 정말 새로운 개념이었고 많은 도움이 되었다.
원래는 3명인 프론트엔드와 4명인 백엔드의 원활한 소통을 위해 멘토님이 추천해주신 것이었지만 어째 우리 백엔드는 이 기능을 '테스트'용도로 쓰고 말았다. (그리고 이 방법이 틀렸다는 것은 11월 말에 알았지)

11월 24일, 결선발표

여러 외부사정에 의해 일정이 2주 가량 당겨졌고, 처음 생각했던 것보다 많이 줄어들었지만 그래도 최소한 이 정도는 하자, 라는 기능을 구현한 채 결선 발표를 진행하였다. 마지막 날까지 7명 모두 회의실에 참석하여 (이때는 잠시 코로나 인원 제한이 풀렸던 터라 모일 수 있었다) 팀장 jkeum님의 발표를 들었고, 다른 팀들의 발표 또한 함께 들으면서 작은 축제처럼 결선 발표를 마쳤다. 🎉

이후 결선 발표에서 10팀을 추려 최종 발표를 하는 자리가 있었지만 우리 팀은 10팀에 속하지는 못했다. 하지만 모두 한 마음으로 열심히 프로젝트에 임해서일까, 많이 아쉽지는 않았다. 후련하면서도 만족스러웠다.

마치 크리스마스 선물 같았던 프로젝트를 마치며

발표를 위해 느낀 점을 적을 때가 있었는데 그때의 나는 새롭게 익힌 스택, 스스로 할 수 있다는 자신감, 각자 다른 의견을 존중하면서 같은 목표로 나아가는 협업 스킬을 얻은 것에 만족했었다. 지금도 비슷한 마음이라고 생각한다. 이런 프로젝트를 아무것도 모르는 '내'가 해냈다는 것에서 이 프로젝트의 성공/실패 여부와 상관 없이 뿌듯하고 스스로 성장했음을 느꼈기에 이 프로젝트를 진행한 몇 개월의 시간이 아깝지 않았다.

profile
42seoul member & S/W Developer

0개의 댓글