프로젝트 기간 : 2025.01.14 - 2025.02.03
프로젝트 레포지토리
프로젝트 링크
🪧 프로젝트 설명
프로젝트명은 Mergi 로 다양한 분야에 있는 사람들이 하나의 팀으로 결합하여 새로운 프로젝트를 만들거나, 같은 목표를 가진 사람들이 모여서 스터디를 하는 커뮤니티입니다.
🌁 선정 배경
저희 팀은 프로젝트나 스터디를 하고싶어도 나와 같은 마음의 사람들을 찾기가 쉽지 않다는 것에 대해서 얘기하고 되었습니다.
이러한 고민에 모두 공감을 했고, “서로 다른 포지션의 사람들이 모여 프로젝트와 스터디를 시작할 수 있는 플랫폼을 만들어보자!”라는 생각을 하게되었고 이를 주제로 선정하게 되었습니다.
⚒ 기술 스택
pnpm
Vue.js
pinia
supabase
tanstack query
swiper
🗣 협업 툴
Git/Github
Figma
Notion
Slack
💻 담당 구현 기능
프로젝트 아이디어 제안 및 기획(공통)
supabase DB 설계
공통 모달 버튼 퍼블리싱(공통으로 사용되는 모달 버튼)
마이페이지/유저 페이지 퍼블리싱 및 기능 구현
프로젝트/스터디 글 목록 퍼블리싱 및 기능 구현
알림 기능 구현
supabase 게시물 관련 모든 API 함수 생성
supabase 쿼리문으로 rpc함수 생성
tanstack query를 활용해 데이터 캐싱해 API호출 최소화
github 칸반,이슈 관리(공통)
🔥 팀원 리뷰 및 피드백
추가 예정...
🍃 KPT 회고
💪Keep
1. git 컨벤션
저번 프로젝트와 동일하게 기획을 마친 후 개발을 시작하기전에 git 컨벤션을 정하고 들어갔다.
커밋 유형

이슈 생성

이슈 생성후 만들 브랜치명
kebab case 사용
ex) feat/post-detail
// 브랜치 네이밍
feat/post-detail-#4 (o)
style/login-#5 (o)
feat/login-#6 (o)PR 내용
1. 변경 사항 : 어떤 작업을 하셨는지
2. 반영 브랜치 : 어느 브랜치에서 main으로 merge 하시는 건지
3. 결과 화면 (생략 가능)
4. 리뷰어에게 전할 말

Merge 머지 규칙
1. 머지 하기 전에 이전 pr내용 전부 pull 받기
2. 머지 하려면 본인 이외 1명의 승인이 필요함
3. 머지 후 브랜치 삭제하기
4.브랜치 merge할때 스쿼시 머지 사용하기

2. 코드리뷰 문화
이번 프로젝트에서의 merge 방식은 별도의 dev 브랜치를 만들지 않고 바로 메인 브랜치로 merge되기 때문에 pr시 반드시 팀원중 1명 이상의 코드리뷰를 받는 방식을 사용하였다.
그 결과 실수로 메인 브랜치에 merge하는 일이 줄어 협업을 할때 시간을 단축할 수 있었다.

❗ Problem
1.프로젝트 일정 관리의 아쉬움
이번 프로젝트에서는 전체적인 일정관리와 프로젝트의 진행도를 보여줄 수 있는 백로그를 작성하는 대신 칸반보드를 활용하여 백로그를 대체하고자 하였다
그러나 초반에 칸반보드를 작성한 것에 비해 최신화가 제대로 이뤄지지 않았으며, 팀원마다 진행도를 눈으로 확인할 수 없어 다음날 아침에 매번 한명씩 화면 공유를 하여 자신의 진행 상황을 전달하였다.

이러한 방식은 효율적이지 않을 뿐더러 정확히 프로젝트가 어디까지 진행되었는지 확인하게 어려워 힘들었다. 또한 나중에 가서는 잘못된 소통으로 인해 서로 다르게 생각한 결과물이 나오게된 문제가 있었다.
2. 사용자 평점 기능 & 사용자 평가 후기 & 홍보 페이지 구현하지 못했다.
익숙하지 않은 프레임워크인 Vue나 처음 사용해보는 Supabase를 배우면서 개발하다보니 생각보다 시간이 빨리 지나가 부가적인 기능으로 두었던 부분들을 추가로 구현하지 못했던 점이 아쉬웠다..😥


3.이미지 수정시 supabase의 storage를 관리하지 못했다.
게시물 수정을 할 때나 유저 프로필을 수정할 경우, 변경된 이미지가 기존 이미지와 다를때 storage에 추가하고 기존 이미지는 storage에서 삭제해줌으로서 storage의 용량을 최적화 했어야 했는데 처음에 따로 신경을 쓰지 못해서 넘어갔던 것 같아 아쉽다.
4. 알림 기능에서 작성자가 특정 사용자를 신청했을때 해당 사용자에게 알림이 가는 기능은 구현하지 못했다.
5.이번 프로젝트에서는 프론트엔드 개발자에게 중요한 성능 최적화, 웹·앱 표준/접근성 이해, CI/CD 설계등을 위주로 해보고 싶었는데 하지 못해 아쉽다...
6.프로젝트 기간과 연휴가 겹치고 개인사정 등으로 퀄리티 개선이나 배포에 대한 시간이 조금 부족했던 문제가 있다.
7.팀원의 pr 리뷰를 적극적으로 달지 못한 아쉬움이 있다.
🚀 Try
CI/CD 파이프라인 설계하기(Github Actions)
pull request 리뷰를 적극적으로 하기
알림 기능에서 작성자가 특정 사용자의 지원 신청을 수락 했을때 해당 사용자에게 알림 가게 하기
게시물, 유저 프로필 이미지 수정시 supabase의 storage 이미지 관리
사용자 평점 & 후기 기능
홍보 페이지
마무리
연휴가 겹쳐있었고, 처음 써본 Vue 프레임워크와 처음 써본 supabase로 DB 설계를 하게 되어 기간내에 프로젝트 완성을 못할 줄 알았지만, 든든한 팀원들과 같이 나아가니 못할 게 없었다.
또한 소통과 일정관리의 중요성에 대해 한번 더 깨달음을 얻게 된 프로젝트였던 것 같다.