📍 개발 기간 : 2022년 7월 18일 ~ 2022년 8월 11일(총 26일간)
📍 개발 인원
프론트 엔드 : 김민석, 전지현
백 엔드 : 정지민, 김지영
📍 기술 스택
Backend
Python
Django
Mysql
Json Web Token
websocket
corsheader
channels
Communication
Slack
IP주소 및 실시간 블로커에 대하여 즉각적인 소통
Notion : 프론트/백 간의 request, response 전달 데이터 건의 및 공유
회의록
Daily Meeting
매일 평일 오전 미팅 진행
👉 지금가지 구현 상황, 오늘 구현할 부분, 블로커 등에 대한 내용을 매일 아침 미팅을 진행하며 서로의 상황 인지
구현 기록
👉 백엔드에서 기능이 완성되자마자 JsonResponse 데이터를 공유
Git & Github
https://github.com/jiminnote/Mars_project
📍 ERD 모델링
📍 API Documentation - POSTMAN
희망 기업을 선택하면서 내가 세웠던 기준은 지금까지 2달간 배웠던 것을 복습하는 것이 아닌 새로운 기능을 구현해보거나 아예 새로운 상황에 놓여져 얼마나 진퇴양난을 많이 겪어볼 수 있냐 였다.
앞으로 개발자 커리어를 쌓으면서 접해보기 어려울 법한 분야
무스마는 현장에서 사용되는 중장비에 gps모듈을 이용하여 제작된 tracker를 부착시켜 현황을 모니터링할 수 있는 프로그램을 만드는 회사였다. 역시나 데이터부터가 평소에 접하지 못했던 것들 이어서 데이터 분석부터 진퇴양난이었다!
실시간 데이터를 다루는 프로젝트
중장비의 상태에 대한 실시간 데이터를 다루는 프로젝트 였기 때문에 지금까지 써보지 못했던 기능인 websocket을 사용해볼수 있는 기회라고 생각했다!
1차 프로젝트를 이어서 2차 프로젝트까지 1인 백엔드를 담당하였지만 드디어 2인 백엔드로 팀이 구성되었다. 취업 전에 백엔드혼자 기능구현을 할때는 브랜치도 직관적으로 구현하지 않고 나만 생각하며 진행했기 때문에 누군가를 배려하면서 코딩을 해보고 싶었다. 확실히 둘이서 각자의 기능을 구현하며 진행하다보니 conflict도 나고 의견조율해야할 것도 많아서 좋은 경험이었던 것 같다.
wecode에서는 모두를 민석님, 지영님 이런식으로 이름 + '-님' 호칭을 썼는데 무스마에서는 수평적인 문화로 서로가 영어이름을 쓴다고 했다. 하지만 입에 잘 붙질 않아서 정작 들어가니 영어이름을 안쓰고 한글 이름을 사용하게되어 소소한 재밋거리를 만들었다.
아무래도 기획부터 하나하나 직접해야했기 때문에 다들 너무나 바쁘고 정신없었지만 이런 소소한 게임 덕분에 웃으면서 프로젝트를 진행할 수 있었던 것 같다.
실시간 모니터링을 구현하는 프로젝트라서 사내 데이터를 받기로 예정되어 있었으나 데이터 확정될 꺼라는 날짜만 전달 받을 뿐 기다리다가 끝끝내 받지 못했다. 만약 데이터를 줄 수 없다는 사실을 알았다면 좀더 기획을 빠르게 해서 기능 구현에 시간을 더 많이 쓸 수 있었을 텐데라는 아쉬움이 있다.
프론트에서는 항목이 정해져야 페이지 구상이 원할하게 진행될 것이고 백에서도 데이터 없이는 기능구현이 힘들기 때문에 계속 기다릴 수는 없을 것 같아서 마감 2주전에 우리끼리 데이터와 페이지별 사용될 항목들을 확정짓고 프로젝트에 불을 붙였다. 사실상 이미 백엔드 단의 기능 구현은 mysql에 가데이터를 담아 진행을 해왔기 때문에 websocket을 이용한 알림 팝업 띄우기를 제외하고 모두 완료하였지만 아무래도 기능 별 페이지 수가 많아 프론트 쪽에서는 시간이 부족한 상황이었다. 발표 바로 직전까지도 프론트 분들이 열심히 기능 구현에 힘을 썼고 우리는 최선을 다하긴 했지만 미흡한 결과물을 발표할 수 밖에 없었다. 백엔드 기능구현을 모두 보여주지 못한 것이 아쉽긴 했으나 만약 데이터를 계속 기다리기만 했다면 이 만큼도 하지 못했으리라 생각한다.
CTO님께서 이렇게 말씀해주셨다.
결과물만 보고 평가를 내리기 때문에 누군 잘했고 누군 못했다 가 아니라 프로젝트 요구사항을 모두 하지 못했기 때문에 실패다.
그리고 발표 후 CTO님 의 피드백을 들으니 아쉬운 점이 더욱 많았다.
wecode에서 python,django 를 이용하여 기본 CRUD기능을 가진 1차 프로젝트에 기능을 덧붙여 2차 프로젝트를,
기업협업에서는 2차 프로젝트에서 기능을 덧붙여 3차 프로젝트를 한 느낌이다.
그래서 그런지 django를 사용했던 기업협업에서의 기능구현은 어렵지 않게 해낼 수 있어서 근무시간동안에만 프로젝트를 진행하고 나머지 시간에는 무조건 node.js를 공부했다.
그래서 앞으로의 계획은 현재 진행한 django 프로젝트들을 node.js/express 로 클론해보고
더 나아가 nest.js와 친해질 것이다.
고생 많으셨어요~ 멋지네요!