[2024 SUMMER DEV] 에코노베이션 스케줄러 시스템 ‘ERROR’, 404팀

프로젝트 소개

404 대표사진

ERROR 프로젝트는 에코노베이션 스케줄러로 동아리 공식 일정 소개와 회원들의 개인 일정 관리를 통합한 웹 및 모바일 애플리케이션 서비스입니다! ERROR 서비스의 주요 기능으로는 Slack Oauth, 필터링 기능, AI 생성 사용자 프로필 이미지 등이 있습니다. 에러 서비스를 통해 에코노베이션 회원들은 개인 일정과 동아리 일정을 효과적으로 통합 관리할 수 있습니다.


팀원 소개

하은 민준 영우 도연 수미
FE    하은 FE    민준 AI    영우 BE    도연 AOS    수미


인터뷰

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

A. 프로젝트 진행하면서 어떤 문제를 겪었다기 보다, 가장 해결하기 어려웠던 문제에 대해 소개해 보려고 합니다. 동아리 회원들을 위한 서비스를 개발하다 보니 회원임을 인증하는 비즈니스 로직이 필요했습니다. 에코노베이션 회원들은 커뮤니케이셔 플랫폼 ’SLACK”을 사용하고 있어, Ouath 2.0 slack을 도입함으로 해결할 수 있었습니다. 다만 여기서 slack Ouath 2.0 기능을 구현함에 있어 레퍼런스가 많이 있지 않아 다수의 기능을 공식문서를 통해 구현해 많은 어려움이 있었습니다. 이번 기회로 공식 문서를 보는 것에 조금더 다가갔다고 스스로 생각해 뿌듯합니다.


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

A. 프로젝트 시작 전에는 주로 비슷한 배경을 가진 개발자들과의 협업 경험만 있었습니다. 이로 인해 문제 해결 접근 방식이 다소 제한적이었으며, 다양한 분야의 사람들과 협업할 기회가 적어 폭넓은 시각을 갖기 어려웠습니다. 하지만 이번 프로젝트에서는 AI, AOS 개발자 등 다양한 배경을 가진 개발자들과 협업하는 기회를 가져, 문제를 바라보는 시각이 넓어졌고, 각 분야 개발자들의 접근 방식을 접하면서 제 자신의 문제 해결 능력도 다각화되었습니다. 팀원들의 의견을 경청하고 수용하는 과정에서 제가 놓치고 있던 부분들을 보완할 수 있었고, 때로는 소통 과정에서 문제가 자연스럽게 해결되는 경험도 했습니다. 이러한 변화를 통해, 협업의 범위와 깊이가 확장되었으며, 다양한 관점을 통합하여 적절한 솔루션을 도출할 수 있게 되었습니다.


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

A. 앞으로 진행하게 될 프로젝트가 기존에 해봤던 것들을 다시 하기보다는 새로운 기술을 접목해보거나 기존 기술을 발전 시키는 기회가 되었으면 좋겠습니다! 프로젝트 시작하기 전에는 팀 그라운드 룰을 확실하게 설정하고, 팀원 간 역할과 책임, 의사소통 방식, 개발 일정 등을 명확히 정해두는것이 팀워크와 생산성을 높이는데 도움이 됩니다. 또한 정기적인 회의를 통해 프로젝트 진행 상황을 파악하고, 문제점을 빨리 발견하여 해결해 나가는 것이 필요합니다. 저희 팀도 프로젝트 초기에 주간 회의를 통해서 프로젝트 진행 상황을 공유하고, 다음 목표를 설정하면서 빠른 속도로 개발 할 수 있었습니다.



Q. Summer Dev 프로젝트에서 개발자로 참여한 경험을 설명해주세요. 어떤 역할을 맡았고, 주요 기술 스택은 어떻게 구성되었나요?

A. 원래 저(도연)는 3학기를 수료한 에코노베이션 CM 회원입니다. 그런데 운 좋게 404 에러팀에서 백엔드 개발자 경험이 없는 저를 스카웃해주셨습니다. 백엔드 개발자로 프로젝트 경험이 없는 저에겐 소중한 기회로 다가와 팀에 합류하게 되었습니다. 이전까지 계속 인공지능 개발만 해오다 백엔드 개발자로 협업하다 보니 어려운 점도 있었지만 좋은 팀원 덕분에 해결할 수 있었다고 생각합니다. 이번 프로젝트에서는 처음 백엔드로 합류하다 보니 레퍼런스가 비교적 많은 java, spring boot를 선택해 서비스를 개발하였고, AWS EC2, ALB 등을 사용해 서비스를 배포하였습니다.


Q. 프로젝트 개발 중 어려움을 겪은 경험이 있나요? 어떻게 해결했으며, 그 과정에서 얻은 교훈은 무엇인가요?

A. 프로젝트 진행 중 실시간 데이터 렌더링 문제에 직면했습니다. 일정 생성 후 최신 데이터가 즉시 반영되지 않아 사용자가 수동으로 페이지를 새로고침 해야 했습니다. 초기에 useEffect 훅을 사용해 해결하려 했으나, 이는 불필요한 API 호출을 반복하는 무한 루프를 야기했습니다.
이를 극복하기 위해 상태 끌어올리기 기법을 적용했습니다. 하위 컴포넌트의 이벤트를 상위 컴포넌트로 전달해 상태를 직접 업데이트하는 방식을 채택했고, 이로써 실시간 데이터 렌더링을 구현했습니다. 이 경험을 통해 React의 상태 관리와 컴포넌트 간 통신에 대한 이해가 깊어졌습니다. 또한, 노션과 슬랙을 활용해 문제 해결 과정을 상세히 기록하고 팀원들과 공유했습니다. 이러한 접근은 팀의 기술적 역량 향상과 효율적인 협업을 촉진했으며, 향후 유사한 문제에 대한 대응 능력을 강화했습니다.


Q. 팀 내 협업에서 문제는 없었는지 이야기해주세요.

A. 저희 팀에서는 프로젝트 시작 전에 규칙을 세우고 모두가 잘 지켜와서 큰 문제는 없었습니다! 다만 도움이 될 수 있을만한 이야기를 해보자면, 팀 내 모든 인원이 바쁜 일정이 있었던 시기에 개발을 한동안 멈추었던 적이 있습니다. 이로 인해 실시간 일정 공유가 어려웠던 점이 있었는데 데일리 스크럼이 부담스러우면 위클리 스크럼으로 매주 진행 상황을 공유하는 건 어떨까 싶습니다!



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

A. 404팀은 스프린트 방식을 도입하여 운영하고 있습니다. 각 스프린트 기간 전에 팀원들이 모여 구체적인 목표를 설정하고, 프로젝트가 끝나면 그 목표 달성 여부를 면밀히 파악합니다.
이를 통해 팀원 개개인의 책임감과 주도성을 높일 수 있었습니다. 또한 매주 월요일 19시에는 코어타임을 적용하여 개발 작업에 집중할 수 있는 환경을 조성하고 있습니다. 이를 통해 개발 능률이 크게 향상되었고, 팀원들의 업무 효율성도 높아졌습니다. 이외에도 인공지능혁신공유대학사업단의 지원을 받아 시험기간을 제외하고 매주 회식을 하면서 팀원 간 소통과 유대감 강화에 힘쓰고 있습니다. 이 시간을 통해 업무 외적인 대화를 나누며 팀원 간 친밀감을 형성할 수 있었고, 나아가 프로젝트에 대한 사기 진작에도 크게 기여했습니다.




에러페이지1


지금까지 에코노베이션 스케줄러 시스템 ‘ERROR’, 404팀의 인터뷰였습니다!