웹 개발 FitOn 팀 프로젝트 회고

서론

현대인들은 점점 더 운동과 건강에 대한 관심을 가지고 있으며, 이를 체계적으로 관리하고 공유할 수 있는 플랫폼의 필요성이 커지고 있습니다. 이러한 요구를 충족시키기 위해 우리 팀은 FitOn이라는 운동과 건강 관련 쇼핑몰 및 커뮤니티 웹 서비스를 기획하고 개발했습니다.

이 프로젝트는 제가 팀장을 맡아 5명이 함께 진행했습니다. 프론트엔드에서는 React와 TypeScript, 백엔드에서는 Java와 Spring Boot를 사용하여 웹 서비스를 구축했습니다.

FitOn 프로젝트는 사용자가 운동 정보를 쉽게 찾고, 운동 루틴을 관리하며, 다양한 운동 용품을 편리하게 구매할 수 있는 종합 플랫폼을 목표로 했습니다. 이를 위해 다양한 기술 스택과 협업 도구를 활용하며 체계적으로 프로젝트를 진행했습니다. 프로젝트의 성공적인 완료와 함께 우리는 우수상을 수상하며 그 성과를 인정받았습니다.

이번 프로젝트를 통해 팀원들은 실무에서 요구되는 기술과 협업 능력을 강화할 수 있었으며, 이러한 경험은 앞으로의 개발에 큰 자산이 될 것입니다.

프로젝트 과정

프로젝트 설명

수강 중인 과정에서 총 두 번의 프로젝트가 진행되었습니다.

그 중 두 번째 프로젝트이고, 첫 번째 프로젝트에 이어 두 번째 프로젝트에서도 팀장을 맡아 프로젝트를 진행하게 되었습니다.

웹 개발 FitOn 팀 프로젝트 회고

  • 주제 : 운동과 건강 관련 쇼핑몰 및 종합 커뮤니티 웹 서비스 FitOn
  • 기간 : 2024.04.04 ~ 2024.05.30 / 2024.07.01 ~ 2024.07.31
  • 인원 : 5명
  • 내용 : 프론트엔드(React, TypeScript) 백엔드(Java, Spring Boot) 기술을 활용한 웹 개발

기술 스택

  • Front-End : React / TypeScript / Styled-Component / React-MUI / React-Quill
  • Back-End : Java / Spring Boot / Gradle / MySQL / Mybatis / AWS
  • Tools : IntelliJ IDEA / VS CODE / Figma
  • etc. : Github / Notion / Discord

프로젝트 목적

운동과 건강에 대한 관심이 증가하면서 많은 사람들이 체계적으로 운동 정보를 얻고, 운동 루틴을 기록하며, 운동 관련 용품을 쇼핑할 수 있는 종합적인 플랫폼의 필요성을 느끼게 되었습니다. 이를 위해 사용자가 다양한 운동 정보를 쉽게 찾고, 운동 루틴을 관리하며, 운동 용품을 편리하게 구매할 수 있는 플랫폼을 기획하게 되었습니다.

프로젝트 기능

  • 사용자들이 운동 관련 정보를 쉽게 찾을 수 있도록 다양한 운동 루틴, 운동 팁, 운동 관련 정보를 제공하는 게시판을 구현했습니다.
  • 운동을 하면서 겪는 어려움이나 성과를 공유하고, 서로 조언을 나눌 수 있는 커뮤니티를 구축하여 사용자들이 서로 소통하고 동기부여를 받을 수 있도록 했습니다.
  • 운동용품, 보충제, 식품 등을 구매할 수 있는 쇼핑몰이 있습니다. 사용자는 다양한 상품을 한 곳에서 비교하고, 리뷰를 확인하며 다양한 운동 관련 용품을 쇼핑할 수 있습니다.
  • 사용자 편의를 위해 일반 로그인뿐만 아니라 Google, Kakao, Naver 소셜 로그인 기능을 지원하며, 사용자가 자신의 개인 설정, 운동 루틴 등을 관리할 수 있는 마이 페이지를 제공합니다.
  • 플랫폼의 효율적인 관리를 위해 관리자 페이지를 제공하여 게시판, 사용자, 상품 등을 관리할 수 있습니다.

분담

내가 맡은 파트
  • 프론트엔드
    • 마이페이지
  • 백엔드
    • 데이터베이스 설계
    • RESTful API 설계 및 구현
    • 로그인 회원가입 및 권한
    • 마이페이지 기능 구현
    • 구글, 네이버, 카카오 소셜 로그인 API
    • Spring Security, JWT 토큰 인증
  • 기타
    • PPT 제작 및 발표

협업

깃허브, 노션, 디스코드를 활용한 협업

Github

버전 관리 및 코드 리뷰: 모든 팀원은 Github를 사용하여 각자의 작업 내용을 버전 관리하였고, 이를 통해 코드 리뷰를 수행하여 코드 품질을 높였습니다. 각 기능 개발 후 Pull Request를 통해 다른 팀원들의 리뷰를 받고, 피드백을 반영하여 코드의 완성도를 높였습니다.

Notion

프로젝트 관리 및 문서화: Notion을 통해 프로젝트의 모든 문서와 정보를 중앙에서 관리했습니다. 프로젝트 계획, 일정 관리, 회의록, 기술 문서 등을 체계적으로 정리하여 모든 팀원이 필요할 때 쉽게 접근할 수 있도록 했습니다.

Discord

실시간 커뮤니케이션: Discord를 사용하여 팀원 간의 실시간 커뮤니케이션을 활성화했습니다. 프로젝트 진행 중 발생하는 문제를 신속히 해결하고, 필요한 경우 회의 및 미팅을 통해 의견을 교환했습니다.

발표

프로젝트 발표를 위해 발표 자료를 준비하였습니다.

팀 소개와 프로젝트 소개, 개발 환경, 개발 동기, 기획 의도, 프로젝트 상세 설명, 기술 설명 등으로 구성해 발표하였고 프로젝트 시연과 Q&A 로 발표를 마무리 하였습니다.

프로젝트 종료

팀원 모두의 열정과 노력 덕분에 우리는 우수상을 수상하며 프로젝트를 마무리할 수 있었습니다.

모든 팀원이 각자의 역할을 충실히 수행하여 프로젝트의 완성도를 높였고, 협업을 통해 발생한 다양한 문제들을 해결하며 팀워크를 강화했습니다. 프로젝트 기간 동안 얻은 경험과 성과는 앞으로의 개발에 큰 자산이 될 것입니다.

이번 프로젝트를 통해 우리는 실무에서 요구되는 기술과 협업 능력을 강화할 수 있었으며, 최종적으로 만족스러운 결과를 얻을 수 있었습니다. 앞으로도 이러한 경험을 바탕으로 더욱 발전하는 개발자가 되기를 기대합니다.

KPT 회고

Keeper (유지할 점)

  • 컨벤션 준수: 팀원 모두가 코드 컨벤션을 준수하여 일관성 있는 코드를 유지할 수 있었습니다. 이를 통해 코드의 가독성과 유지보수성을 크게 향상시켰습니다.
  • 노션 협업: 프로젝트 전반의 문서화와 일정 관리를 노션을 통해 진행했습니다. 이를 통해 모든 팀원이 프로젝트 진행 상황을 명확히 파악하고 필요한 정보를 쉽게 접근할 수 있었습니다.
  • 디스코드 커뮤니케이션: 실시간 커뮤니케이션을 위해 디스코드를 사용했습니다. 발생하는 문제를 신속히 해결하고, 필요한 경우 바로 회의를 진행하여 효율적인 협업을 할 수 있었습니다.
  • 깃허브 협업: 모든 팀원이 깃허브를 통해 버전 관리를 철저히 하여 코드 리뷰를 효과적으로 수행했습니다. 이를 통해 코드의 품질을 높이고, 피드백을 반영하여 코드의 완성도를 향상시킬 수 있었습니다.

Problem (문제점)

  • 일정 관리: 프로젝트 진행 중 일정 관리에 어려움이 있어 일부 작업이 계획한 일정에 맞추기 어려웠습니다. 이로 인해 작업이 지연되어 마무리 단계에서 시간이 부족한 상황이 발생했습니다.
  • 문서화 부족: API 문서 및 기타 개발 관련 문서화가 다소 부족했던 부분이 있었습니다. 이는 유지보수 시에 어려움을 초래할 수 있음을 깨달았습니다.

Try (시도할 점)

  • 체계적 문서화: 앞으로는 문서화를 더욱 체계적이고 구체적으로 진행해야겠습니다. 명확한 API 문서와 개발 관련 문서를 작성하여 누구나 쉽게 이해하고 활용할 수 있도록 노력할 것입니다.
  • 일정 관리 개선: 일정 관리를 더욱 철저히 하여 계획된 일정에 맞추어 작업을 진행할 수 있도록 하겠습니다. 이를 위해 프로젝트 시작 단계에서 세부 일정을 보다 명확히 하고, 주기적인 점검을 통해 일정을 조정하겠습니다.
  • 다양한 협업 툴 사용: 현재 사용 중인 협업 툴 외에도 다양한 협업 툴을 시도해보겠습니다. 이를 통해 더 효율적인 협업 방식을 찾고, 팀원 간의 커뮤니케이션을 더욱 원활하게 할 수 있을 것입니다.

마무리

FitOn 프로젝트는 팀원들의 열정과 노력으로 성공적으로 마무리되었습니다. 우리는 각자의 역할을 충실히 수행하며, 협업을 통해 다양한 문제들을 해결하고 프로젝트의 완성도를 높일 수 있었습니다.

프로젝트 기간 동안 우리는 많은 도전을 경험했고, 이를 통해 실무에서 요구되는 기술과 협업 능력을 크게 향상시킬 수 있었습니다. 프로젝트가 끝난 후, 우리 팀은 우수상을 수상하며 그 성과를 인정받았고, 이러한 경험은 앞으로의 개발에 큰 자산이 될 것입니다.

앞으로도 우리는 이번 프로젝트에서 얻은 경험과 교훈을 바탕으로 더욱 발전하는 개발자가 되기를 기대합니다. 지속적인 학습과 성장을 통해 더 나은 서비스를 제공하며, 기술적으로나 개인적으로나 계속해서 성장할 수 있도록 노력할 것입니다.

Leave a Comment