Skip to content

s00ngle/semsem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💡 셈셈

배너


목차

서비스
팀원
기술
화면
기술적 특징
문서



서비스

[똑똑한 정산 도우미]

1. 동화된 정산 및 차액 계산

  • 결제 내역 기반으로 차액 자동 계산으로 수작업 오류 방지
  • 최소 송금 횟수로 최적화된 정산 경로 제공하여 송금 번거로움 감소
  • '누가 누구에게 얼마를 보내야 하는지' 명확히 안내해 불필요한 소통 줄임

2. 다양한 데이터 입력 및 비용 분배

  • 계좌/카드 연동으로 자동 결제 내역 불러와 입력 시간 절약
  • 수기 입력 지원으로 현금 거래까지 누락 없이 관리
  • 균등, 차등, 랜덤 등 다양한 비용 분배로 상황에 맞는 정산 가능

3. 유연한 정산 관리 시스템

  • 정산 대상 멤버 자유롭게 선택하여 복잡한 상황도 쉽게 처리
  • 모임 및 일정 단위로 체계적 관리해 여러 모임 정산이 섞이는 혼란 방지
  • 일정 생성 및 구성원 초대로 그룹 활동 통합 관리 용이

4. 편리한 송금 및 기록 관리

  • 앱 내 즉시 송금으로 별도 앱 전환 없이 원스톱 정산 완료
  • '받을 금액'과 '보낼 금액'을 한눈에 확인해 정산 현황 투명하게 파악
  • 정산 내역 기록 유지




👨‍👩‍👦‍👦 팀원

BackEnd
reasonyi swim00 Icln
이유리 김수영 임강호
FrontEnd
kimsnmyng s00ngle 2m7r
김선명 김용순 임가현



🛠 기술

🖥️ BackEnd

🎨 FrontEnd


☁️ Infra


🛠️ Tool


💻 화면

0. 로그인 화면

로그인 화면

1. 메인 페이지

계좌 잔액 확인, 총 차액 확인, 모임 목록 확인

2. 모임 상세 페이지

나와 관련된 정산 품목 보기 정산 품목 필터링 보기 정산 품목 상세보기 및 삭제

3. 정산 품목 등록

수기 등록 결제 내역 불러와 자동 등록

4. 정산하기

주고받을 돈 확인하기 송금하기 수동 정산 완료하기



🚀 기술적 특징

메인 페이지 (계좌 연동 금액, 정산 현황, 모임현황)

[BE] N+1 문제를 해결해 쿼리 성능 개선

  • JPQL의 Fetch join 활용
  • Batch Size로 IN 쿼리 최적화

[FE] API 호출 병렬처리를 통한 최적화

  • Promise.all을 활용해 페이지 최상단에서 각 컴포넌트의 API를 병렬로 호출, 초기 로딩 속도 개선

  • 메모이제이션을 적용해 불필요한 렌더링 방지 및 성능 향상

  • API 호출 중 로딩 UI를 적용해 사용자 경험(UX) 향상

모임 상세 페이지

[BE] 안정적인 대기열 시스템

  • 서버 부하 모니터링 기반 대기열 Batch 크기 동적 조절로 시스템 안정성 확보
  • Redis Sorted Set과 SETNX 기반 대기열 관리 및 동시성 제어

[FE] 자동화된 정산 및 차액 계산

  • 날짜별, 멤버별 정산내역 필터링 기능

  • 연동된 계좌의 거래내역 불러오기 및 거래내역 수기 작성 기능

  • 정산 내역 기반 차액 자동 계산 기능

정산하기

[BE] 나눔 진행 상태 자동 변환

  • 스프링 스케줄러를 이용해 특정 시간에 DB 상태를 변경하도록 스레드에 작업 예약

[FE] 메모리 최적화로 지도 성능 향상

  • 정산 차액 계산을 위한 페이지 진입 시점 전역 상태 관리 적용

  • Framer Motion을 활용한 애니메이션 구현 및 렌더링 최적화

  • 컴포넌트 재사용성을 고려한 구조적 코드 설계


📕 문서

플로우 차트
와이어프레임
기능명세서
API 명세서

ERD

ERD

아키텍쳐

시스템 아키텍쳐

깃 컨벤션

feat 새로운 기능 추가
fix 버그 수정
docs 문서 수정
style 코드 formatting, 세미콜론 누락, 코드 자체의 변경이 없는 경우, 주석 없거나, 파일 또는 폴더 명 수정
refactor 코드 리팩토링
test 테스트 코드
design CSS 등 사용자 UI 디자인 변경
remove 파일을 삭제하는 작업만 수행한 경우
hotfix 급하게 수정해야 할 버그

브랜치 명

  • 영어로 기능 요약
  • BE- / FE- 말머리 붙이기
  • 이외의 브렌치명은 소문자로
  • 띄어쓰기 -
  • 스토리에서 기능 요약하고 스토리 고유 번호 브랜치에 기입
  • ex) feat-#66-be-login(기능 요약)

커밋 메시지

  • 기능별로 커밋 ex) 로그인 완성, 로그아웃 완성
  • feat: 구현한 기능 요약
  • ex) feat: User의 Role을 가져오는 Controller 작성

Merge Request 제목

  • 첫 문자는 대문자
  • ex) Feat 로그인 기능 구현, Fix: 카카오 로그인 버그 수정, Hotfix: 로그인 토큰 오류 수정

구현 및 변경사항
ex) 로그인 시, 구글 소셜 로그인 기능을 추가했습니다
ex) 방을 만들때 사용하는 로직 작성
ex) 랜덤 패스워드를 생성하는 로직, Util로 분리
ex) ERD나 이미지 넣어도 괜찮습니다

About

똑똑한 정산 도우미 셈셈

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages