[2024 SUMMER DEV] 에코노베이션 행사 관리 체계 시스템 ‘EEOS’, BlackCompany팀

프로젝트 소개

BlackCompany 대표사진

EEOS(Econovation Event Operation Systyem)는 에코노베이션 행사 관리 체계의 준말로, 동아리 내 행사를 관리할 수 있는 시스템입니다. 작년 가을부터 시작하여 이번 썸머데브까지 3번의 업데이트를 통해 서비스를 고도화 해나가는 중입니다.


팀원 소개

BC 준수 BC 다애 BC 종민 BC 건규
PM    준수 BE    다애 BE    종민 FE    건규


인터뷰

Q. 프로젝트를 하면서 어떤 문제를 겪었나요?

A. 이번 프로젝트에서는 처음으로 외부 API를 호출하여 적용해보았는데요, Slack에서 채팅 채널에 메세지를 보내는 기능을 구현할 때 사용했습니다.
Slack이라는 회사가 외국 기업이고, 또한 저(종민)는 API 문서 읽는 경험이 처음이어서 사용하는 데에 시간이 필요했습니다. API 문서를 읽는 것 조차 연습이 필요하고, HTTP Request를 보낼 때 어떤 구조로 보내는지, 헤더에 어떤 정보를 담아서 보내야 하는지 등 필수적으로 필요한 정보를 넣지 않으면 제대로 동작하지 않습니다. 그래서 HTTP 프로토콜에 대한 이해도 필요합니다. EEOS 프로젝트는 2023년 2학기 때 만들어진 프로젝트이므로 기존에 작성된 코드를 이해하는 데 어려움이 있었습니다. 이전 팀원이 작성한 코드를 읽을 때 적은 시간을 투자해서 코드를 이해할 수 있다고 생각했었습니다. 하지만 생각보다 많은 시간이 투자되었고, 시간이 많이 투자되었을 때 EEOS가 어떻게 동작하는지 등 코드를 잘 이해할 수 있었습니다. 이 경험으로 인해서 다른 사람이 작성한 코드를 또는 다른 사람이 작성한 프로젝트를 읽고 해석하는 두려움이 없어졌습니다.


Q. 프로젝트를 하기 전 후 달라진 점이 있다면?

A. 스프링에 대한 지식이요~! ㅎㅎ 썸머 데브가 끝난 지금 스프링과 네트워크 공부를 하고 있는데요, 프로젝트 시작전 글로만 알고 있었던 개념들이 ‘아 내가 사용한 게 이 개념이었구나!’하며 다시 한번 깨닫는 순간이 있었어요. 프로젝트 전후로 달라진 점을 뽑자면 제가 가장 많이 느끼고 있는 이 점을 뽑고 싶습니다 :)


Q. 프로젝트를 시작하는 팀에게 전해줄 꿀팁을 말해주세요!

A. 1년 간의 서비스를 운영하면서 얻은 점이 많습니다. 처음 프로젝트를 시작할때는 물론 서비스를 완성하는 것에 초점을 맞추고 프로젝트를 진행해야겠지만, 한번 정도는 출시와 운영이라는 목표를 갖고 프로젝트에 임해보세요! 실제 사용자가 사용하는 기능이라면 분명히 그 책임감이 막중하기에 기능의 완성도가 매우 높아질 거에요. 또한 서비스를 운영하면서 얻는 이런 저런 인사이트는 비교할 수 없는 인사이트가 될거라고 확신합니다!



Q. 프로젝트의 주요 목표와 성과는 무엇이었고, 이를 달성하기 위해 어떤 전략을 사용했나요?

A. 우선 프로젝트의 가장 큰 목표는 지속적인 사용이였습니다. 작년 2학기에 사용자를 동아리원들을 회원으로 유치했고, 이번 학기는 저희 서비스를 꾸준하게 이용하도록 하는 것이였습니다. 저희는 사용자의 목소리(VOC)에 집중하기로 했어요! 서비스를 가장 많이 사용하는 회장단과 지속적인 미팅을 하여 VOC를 확보하였고, Padelet이라는 플랫폼을 활용해 익명의 창구를 열어 두었습니다. 이러한 VOC를 기반으로 하여서, 사용자에게 임팩트가 있고, 실제로 구현이 가능한 기능들을 선정하여 백로그로 추출하였습니다. 이후 2주 ~ 한달 간격으로 업데이트를 하면서 유저 친화적인 서비스로 한발짝 나아갈 수 있었습니다!


Q. 프로젝트의 기술적인 도전과제나 혁신적인 부분은 무엇이었나요?

A. 이번 프로젝트에서 기술적으로 구현하기 까다롭다고 생각했던 부분은, 댓글(질문)기능 입니다. 댓글 작성/수정/삭제/조회 기능 자체는 CRUD와 다르지 않지만, 댓글과 댓글에 대한 답글, 대댓글의 데이터를 프론트엔드로 넘겨줄 때 어떻게 넘겨줄지 고민을 많이 했던 것 같습니다. 이때 했던 고민은 프론트엔드가 최대한 댓글의 구조를 알기 쉽게 전달하는 방법을 고민했습니다.


{
  "comments": [
    {
      "commentId": 1,
      "content": "내용",
      "answers": [
        {
          "commentId": 2,
          "content": "내용"
        }
      ]
    }
  ]
}

위와 같은 형식으로 실제 댓글-대댓글 간의 관계를 모형으로 추상화해서 JSON 형태로 보내주었습니다. 이 부분을 실제 코드로 구현할 때 다소 어려움이 있었지만, 기능이 완성이 되었고 정상적으로 잘 동작했을 때 실사용자 분들께서 이 기능을 자주 사용할 것 같아서 뿌듯했습니다.


Q. 개발자로서 역량 향상을 위해 어떤 노력을 기울였으며, 이 프로젝트를 통해 어떤 기술적 성장을 이루었나요?

A. 이번 학기 시작 전 정말 잘하는 프론트엔드 개발자들과 협업을 할 수 있는 좋은 기회가 있었습니다. 이와 동시에 refactoring 2판을 읽게 되면서, “좋은 코드” 에 대해서 많은 관심이 생기게 되었습니다. 자연스럽게 EEOS 프로젝트에 참여하는 동안 코드를 잘 작성하는 방법에 대해서 많은 고민을 했던 것 같습니다. 하지만, 개발을 공부한지 얼마 안된 저(건규)는 무엇이 좋은 코드일지에 대한 개념 자체를 제대로 가지고 있지 않아서 의도치 않게 코드적으로 정말 많은 도전을 해보게 되었습니다. 그리고 EEOS는 실사용자가 있는 서비스답게 요구사항이 자주 변경되었고, 저의 실험적인 코드에 대한 결과를 비교적 빨리 받아볼 수 있었던 것 같습니다. 덕분에 경험적으로 재사용 가능한 코드에 대해서 어느정도 알 수 있는 프로젝트가 된 것 같습니다. 이전에 EEOS를 하기 전의 저와 비교해보면 정말 말도 안되는 성장을 할 수 있었던 것 같습니다.



Q. 본인 팀만의 특별한 협업 방식이 있나요? 있다면 소개해주세요!

A. BlackCompany2기는 백엔드 개발자가 2명이었는데요, 1기분들의 코드에 대한 이해도를 함께 높이기 위해 스프린트 term1때 페어프로그래밍을 하고, term2 때는 각자 개발, term3 때 페어를 하는 방식으로 협업했습니다. 이렇게 하다보니 1기분의 코드의 의도를 자연스럽게 파악하게 되고 새로운 기능 도입을 준비할때에 기존 코드에서 어떤 부분을 재사용할지 혹은 어떤 방식으로 새로운 코드를 작성할지 논의하며 앞으로의 EEOS에 도움이 되는 방향을 함께 고민하게 되었던 점이 좋았습니다. 또한 각자 개발 후 다시 한번 페어를 진행함으로써 서로의 코드를 파악하여 EEOS에 에러가 발생할때에 함게 대응할 수 있었던 점이 좋았던것 같습니다. 특별한 방법은 아니지만, 저희처럼 기존의 코드가 있고 팀원에 대해 잘 모르는 상태일때 페어프로그래밍을 해보시는것을 추천드립니다 ㅎㅎ




블컴페이지1 블컴페이지2


지금까지 에코노베이션 행사 관리 체계 시스템 ‘EEOS’, BlackCompany팀의 인터뷰였습니다!