[2024 SUMMER DEV] 일상에서 도움이 필요한 장애인과 자원봉사자를 빠르고 간편하게 연결해주는 맞춤형 웹서비스 ‘Buddy Bridge’, 버디즈팀

프로젝트 소개

버디즈 대표사진

버디즈 팀의 서비스 ‘Buddy Bridge’는 일상에서 도움이 필요한 장애인과 도움을 주고자 하는 지원자를 빠르고 간편하게 연결해주는 맞춤형 웹 플랫폼입니다.


팀원 소개

버디즈 팀원 단체 사진

좌측부터 노을(PM)님, 인재(BE)님, 민보(FE)님, 명덕(BE)님

버디즈 팀은 PM 노을님, FE 민보님, BE 명덕님과 인재님으로 구성되어 있습니다!



인터뷰

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

A. 먼저, FE 경우에는 카카오톡 로그인을 구현하고 성공해서 받아온 정보를 Zustand에 저장하였는데 새로고침할 때 로그인이 풀리는 문제가 발생하였습니다. 그 이유는 Zustand는 상태를 메모리에 유지를 하는데, 페이지를 새로 고침하면 Javascript 환경이 초기화 되었기 때문입니다. (** Zustand: 작고 빠르며 확장 가능한 React 프로젝트에서 사용하는 상태 관리 라이브러리)

다음으로 BE 경우에는, 두 명이서 협업을 해야 했습니다. 그래서 Git을 통해 버전을 관리하기 위해 방식(Commit, PR 컨벤션 및 Merge등)에 대해서 배웠는데 막상 프로젝트에 적용하는 과정에서 시행착오를 겪었습니다.


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

A. Buddies는 팀원 모두가 첫 협업이었습니다.

먼저 기획자는 개발자들과 협업하기 위해서 기획자가 개발자들을 위해 작성해야 할 문서나 정해 둬야 하는 기획상의 부분들에 대해 상세하게 알 수 있었습니다.

FE는 혼자서 FE영역을 혼자 개발해보게 되면서, 의사소통 능력이나 개발 능력에 있어서 부족한 부분을 잘 알게 되는 경험이었고 스스로 학습할 수 있게 되었습니다.

BE는 첫 프로젝트를 진행하다 보니 개발을 할 수 있을 지에 대한 두려움이 있었지만, 개발에 대한 두려움보다는 더 나은 서비스를 위해 어떤 시도를 해야 하는지 고민할 수 있게 되었습니다.


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

A. 프로젝트를 시작하는 목적에 대해 정확히 팀 내부적으로 정하는 것이 중요할 것 같습니다. 팀 모두가 프로젝트에서 얻고자 하는 것은 무엇인지 이야기를 잘 해서 하나의 목표를 정해둔다면, 프로젝트를 진행하는 과정에 있어서 동기부여도 되고 훨씬 책임감을 가지고 임할 수 있을 것 같습니다!

또, 에코노베이션에 들어와서 프로젝트를 처음 하는 경우 굉장히 어려울 거라고 생각이 되지만 친절한 선배 기수들이 친절하게 알려주기 때문에 부담없이 질문을 언제든지 하면 좋겠습니다.



버디즈 팀사진2

썸머데브 현장에서 시연중인 버디즈팀



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

A. FE는 Next.js, Typescript를 사용했습니다.

BE는 2명이었고, 한 명은 매칭을 위한 게시글 작성 및 사용자 간의 원활한 소통을 위한 1:1 채팅을 구현했습니다. 게시글을 저장하기 위해 MariaDB를 사용했으며 SpringDataJPA를 통해 데이터를 관리했습니다. 1:1 채팅의 경우 웹소캣과 STOMP를 사용하여 구현했습니다. 그리고 다른 BE는 댓글 기능 및 실시간 알림 기능을 구현했습니다.


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

A. BE로 이번 프로젝트가 스프링 부트를 이용한 첫 프로젝트였는데, 처음임에도 불구하고 실시간 채팅 및 알림 기능이 구현되어야 해서 웹소켓과 SSE를 추가로 공부해 적용해야 했습니다. 해당 기술에 대한 기본적인 이해가 필요하다고 생각해 실제 개발 중인 프로젝트에 도입하기 전 간단한 웹 어플리케이션을 만들어 기술을 적용해보고 FE 코드 예제도 만들어서 실제 통신의 과정을 확인했습니다.

이렇게 미리 간단히 구현해보니 실제 프로젝트에 쉽게 적용해볼 수 있었고 FE와 소통할 때도 어려움이 크지 않았습니다. 이를 통해 스프링 부트에 대한 전반적인 개념뿐만 아니라 웹소켓, SSE 같은 부가적인 기술의 개념과 사용법을 알게 되어 많은 성장을 한 것 같고 앞으로 새로운 기술을 적용해야 할 때 간단하게 구현해보고 개념을 익히고 나서 실제 프로젝트에 적용한다면 더욱 쉽게 기술 도입을 할 수 있다는 것을 알게 되었습니다.


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

A. 프로젝트에서 매칭을 시켜주기 위해 우선순위 기능이었던 실시간 채팅을 구현하기 위한 웹소켓 기술과 알림 기능을 위한 SSE 기술 도입이 가장 기술적인 도전 과제였습니다.



버디즈 팀사진3


버디즈 팀사진4



지금까지 팀워크가 돋보이는 귀여운 사진들을 첨부해주신 버디즈 팀의 인터뷰였습니다!