티스토리 뷰

약 한 달 동안 기업 협업으로 가게 된 곳은 산업 현장과 관련된 근로자 안전, 공정률 예측 등 loT를 이용한 플랫폼을 제공하는 기업이었고, 프론트2명 백앤드 2명 총 4명이 기업 협업 프로젝트인 Project - Earth를 약 4주 동안 진행하게 되었다.

 

Project - Earth 

산업 현장에 설치된 CCTV 영상 및 영상분석 정보 수집 Pipeline 

해당 정보를 토대로 현황 모니터링 및 공정률 분석이 가능한 플랫폼 개발

 

기업 협업 팀

사전에 소개된 기업 소개서 설명에서 프론트와 백엔드 구성으로 된 팀으로 프로젝트 진행하는 것이 기재되어있지만 인원수는 기재되어있지 않았다. 마찬가지로 임의로 프로젝트 팀이 정해져서 우리는 프론트 2명과 백엔드 2명으로 구성되어있었고 다른 기업협업팀은 적으면 2명 많으면 6명이었다. (사실 어떤 기준으로 팀이 구성되어있는지 궁금..)

 

1 WEEK (08.16 ~ 08.21) 

첫날은 기업측에서 준비해주신 기업 소개와 앞으로 진행할 프로젝트와 관련해서 간략하게 알려주셨다. 

담당 사수님이 바쁘셔서 프로젝트 기획안이 확정된 상태는 아니었지만, 기술 스택, 사용하는 프로토콜 어떤 것인지, 그리고 어떤 정보를 수집하여 각 화면에 그릴지 먼저 알려주셨다. (실제로 기업에서 진행하는 프로젝트를 토이 프로젝트처럼 우리가 먼저 개발해보는 것이었다.)

설명을 듣고 나니 이전에 작업했었던 1차 2차 프로젝트는 일반적인 E-commerce관련 프로젝트였기 때문에 이번 3차 프로젝트는 어떻게 해야 할지 막막해했다.

 

loT 사물인터넷 관련 프로토콜에 대해 처음 들어봤다..(분명 공부했지만 누군가 설명하라고 하면 자신이 없다..🥹) 그리고 프론트 분들도 처음 사용해보는 라이브러리(?)를 어떻게 사용하는지 모르는 상태여서 1주 차에는 프로젝트에 사용될 자료 기술 스택을 공부하는 시간을 가졌다.

 

 

2 WEEK (08.22 ~ 08.28)

매일 진행되는 일간 미팅에서 담당 팀장님은 각 팀에서 어떻게 진행하고 있는지, 어떤 어려움이 있는지 등 체크해주시면서 해결 방법을 같이 강구해주셨다. 👍

2주 차에는 피그마도 나왔고 프로젝트 기안도 나와서 중요도 순으로 페이지를 정리한 후 팀 내에서 각 페이지 담당자를 정하고 어떻게 일간 미팅 후에는 각자 진행 사항과 API 명세서를 노션에 정리하면서 업무를 진행해 나갔다. 

 

총 7 페이지 중 제일 중요한 페이지는 1페이지와 2페이지 그리고 5페이지였는데, 나는 1페이지인 실시간 중장비 상태 페이지를 담당하게됬다. 1페이지는 mqtt 프로토콜로 약 5~10초 단위로 받는 중장비 상태 정보를 정제하여 프론트에 전달해주는 API를 구상해야 했다. 실시간으로 갱신되는 데이터를 어떻게 새로운 정보를 프론트에 전달해야 하는지 며칠을 고민하다 API를 만들었는데, 이후 프론트에 전달하는 과정에서 데이터 가공으로 문제가 생겼지만.. (프론트 요청에 맞춰 데이터를 4~5번 수정했었다..) 프론트에서 데이터 가공을 하는 쪽으로 ^^...

 

3 WEEK (08.29 ~ 09.04)

3주차에는 백앤드는 각자 작업이 끝나는 데로 다음 페이지 작업을 진행하게 됐는데 나는 공사장비에 대한 페이지인 3~4페이지를 맡았다.

3페이지는 운송장비 리스트페이지여서 크게 어렵지 않게 작업을 했는데, 4페이지 장비 상세페이지에서 주별 장비 가동률에서 ..막혔었다... 요청을 한 시점인 날을 기준으로 해당하는 주의 각 요일별 데이터를 전달해야 하니 날짜 계산부터 막혔었는데 코드가 지저분하긴 하지만.. Enum class를 사용하여 상수로 계산하고 람다를 이용해서 가동률을 표현하는 식으로 API를 작성했다.

 

생각보다 백앤드 API가 빠르게 마무리되어 중간중간 만들어둔 API의 TEST 코드도 작성하고, 여러가지 API도 미리 작성해보고 테스트해볼 수 있었다.

 

+ 코드리뷰 

프론트와 백엔드 나눠서 약 1시간 ~ 1시간 30분 정도 직접 코드 리뷰를 해주셨는데

백엔드는 다양한 예외가 발생할 수 있기 때문에 예외처리를 다시 생각해보고 처리했으면 좋겠다고 말씀해주셨고,

주석 처리에 대해서도 설명이 필요한 부분에는 하면 좋기 때문에 주석을 다 지울 필요는 없다고 말씀해주셨다.

적절하게 util파일을 나눠서 사용한 것도 좋다고 말씀해주셨다!

 

4 WEEK (09.05 ~ 09.06) 

발표는 7일인 수요일 오후에 진행하기로했고 발표 전에 프로젝트 마무리 수정사항을 체크하면서 각 프/백에서 코드 수정이 진행됬다.

그리고 이번에는 AWS가 아닌 회사 내 서버에 올리기로 해서 코드 수정이 되는대로 회사 서버에 프로젝트를 올리기로했다.

사실 도커를 잠깐 배워서 도커로 올리고싶었지만.. 도커 사용에 미숙하기도하고 회사 내 서버에 뭔가 잘못올리면 안되니까...그냥 익숙한 방식으로 서버에 파일을 올리기로했다. 이때 필요한 파일들은 SFTP 프로토콜을 이용해서 터미널에서 파일을 옮겨봤는데 방식이 터미널에서 파일이 넘어가는게 눈으로 보이는 작업이 아니라서 좀 신기했다.

 

최종 발표

명절 전 주라 회사 자체도 매우 바빴고 계속 회의가 잡혀있으셔서, 프로젝트 발표 시간은 빠르게 10분 내로 진행 후 마무리가 되었다. 

 

Github

프로젝트 시연 영상

프로젝트 팀 노션

데이터 베이스 모델링

댓글