2분반-Pravo
프로젝트 개요
기술개발 과제
국문 : 벌금 체계를 활용한 약속 관리 시스템
영문 : PRAVO: Promise Management System with Penalty Protocol
과제 팀명
Pravo
지도교수
이동희 교수님
개발기간
2024년 9월 ~ 2024년 12월 (총 4개월)
구성원 소개
서울시립대학교 컴퓨터과학부 2019920009 김동휘(팀장)
서울시립대학교 컴퓨터과학부 2019920061 김나연
서울시립대학교 컴퓨터과학부 2020920028 배서현
서울시립대학교 컴퓨터과학부 2020920033 송지함
서울시립대학교 컴퓨터과학부 2021920022 도얀탄후옌
서론
개발 과제의 개요
개발 과제 요약
◇ 이 서비스는 모임 생성, 관리, 보증금 결제를 지원합니다. ◇ 사용자들은 모임을 생성하거나 참가할 수 있으며, 모임에서 정한 약속을 어길 시 벌금이 부과됩니다. ◇ 모임을 생성하거나 모임에 참가할 때 보증금을 결제하며, 타사 결제 수수료 정책을 참고하여 저희만의 수수료 정책을 설립할 예정입니다. ◇ 링크를 통해 생성된 모임에 참가할 수 있습니다.
개발 과제의 배경
◇ 팀원들이 자주 약속을 어기고 모임을 취소하는 문제를 해결하기 위해 이 서비스를 개발하게 되었습니다. ◇ 반복적인 약속 불이행과 모임 취소로 인해 팀의 일정 관리가 어려워지고, 신뢰성이 떨어지며 시간과 자원이 낭비되는 문제가 있습니다. ◇ 이 서비스는 모임 생성 및 관리의 효율성을 높이고, 취소에 대한 벌금을 부과하여 약속을 지키도록 유도합니다. ◇ 간편한 결제 시스템으로 서비스 사용에 용이합니다. ◇ 또한 링크를 통한 손쉬운 초대 기능으로 팀원 간의 협력과 소통이 원활해집니다. ◇ 이로 인해 모임의 신뢰성과 관리 효율성이 크게 향상될 것입니다.
개발 과제의 목표 및 내용
◇ 약속 관리 시스템 구축: 모임장이 약속을 생성하고, 모임원들을 초대하며, 약속 이행 여부를 관리할 수 있는 기능을 제공합니다. ◇ 벌금 제도 적용: 약속 불이행 시 벌금을 부과하고, 이행 시 예약금을 반환하는 시스템을 구현합니다. ◇ 결제 및 정산 시스템 개발: 예약금 결제, 결제 취소, 벌금 정산 등 금융 거래를 안전하고 편리하게 처리할 수 있는 기능을 제공합니다. ◇ 내역 조회 기능: 약속, 결제, 정산 내역을 모임장과 모임원이 쉽게 조회할 수 있도록 합니다. ◇ 약속 파기 및 위임 기능: 약속의 사전 파기 시 규정에 따른 벌금 처리 기능을 제공합니다.
관련 기술의 현황
관련 기술의 현황 및 분석(State of art)
- 전 세계적인 기술 현황
◇ 결제 게이트웨이 솔루션: 결제 처리에 있어, Stripe와 PayPal과 같은 결제 게이트웨이 솔루션이 많이 사용됩니다. 이러한 솔루션들은 안전하고 다양한 결제 수단을 지원하며, 개발자에게 쉽게 통합할 수 있는 API를 제공합니다.
◇ 모임 초대 및 공유 기능: 사용자가 손쉽게 모임을 생성하고 다른 사람을 초대할 수 있도록 하기 위해 딥 링크와 같은 기능이 자주 사용됩니다. 이를 통해 생성된 모임에 사용자들이 간편하게 접근할 수 있으며, 초대장을 소셜 미디어나 메신저를 통해 공유할 수 있어 접근성과 편의성이 강화됩니다.
- 특허조사 및 특허 전략 분석
◇ 약속 일정 관리 방법, 장치 및 시스템
출원번호: 10-2022-0123914 출원일자: 2022년 09월 29일 특허요약: 본 발명은 키보드, 마우스, 터치스크린 등을 통해 약속 일정 관리 기능을 제공하며, 일정 제안, 일정 합의, 일정 확정의 동작을 수행합니다. 또한 음성 대화, 이미지, 텍스트 데이터 등 다양한 형태의 데이터를 기반으로 일정 생성을 지원합니다.
◇ 식사 약속 기반 일정 매칭, 관리 및 커뮤니케이션 소셜 네트워킹 플랫폼 제공 방법 및 시스템
출원번호: 10-2023-0134833 출원일자: 2023년 10월 11일 특허요약: 본 발명은 식사 약속을 기반으로 일정 매칭 및 관리 서비스를 제공하며, 사용자 단말기로부터 참여자들의 일정 정보를 수집해 가능한 일정 중에서 추천 일정을 생성하는 방식을 포함합니다.
- 기술 로드맵
◇ 기술 발전 단계 (현재 기술의 성숙도 조사 및 작성) - 해외 비금융업자 e-payment 중에서는 페이팔이 가장 많은 국가에 진출했으며, 이용자에서는 아마존페이가 가장 많이 사용되고 있습니다. - 해외 모바일 간편결제 서비스는 페이팔, 알리페이, 위챗페이가 독보적이며, 이용수단은 신용카드, 직불카드, 페이팔 순입니다. - 2017년 3월 설문조사에 따르면, 전자상거래를 통한 구매자가 가장 선호하는 지급결제수단은 신용카드(42%)인 것으로 조사 되었고, 전자지급결제와 모바일 결제는 각각 39%, 14%를 차지하고 있습니다. - 국내에서는 간편결제·간편송금 실적이 급격하게 증가하는 추세로, 2018년에는 전년대비 각 각 91.2%, 123.3%가 증가하였습니다. - 국내 간편결제시장 점유율은 온·오프라인 간편결제시장은 네이버페이(44%)와 삼성페이(37%) 가 모바일 간편결제시장은 네이버페이(30%)의 우세속에 SK페이(19%), 카카오페이 (16%), 삼성페이(12%), 페이코(10%) 순입니다.
◇ 관련 트렌드 및 혁신 - 최근 ICT기업 등 비금융기관이 글로벌 차원에서 브랜드인지도, 빅데이터 등을 통해 간편결제 서비스 사용자 수를 늘리고 있다. 2016년 미국의 전자결제 서비스 시장 규모는 약 6,000억 달러이며, 이 중 모바일 결제 서비스를 이용한 경우는 약 250억 달러에 이릅니다. - 국내 간편결제 금액은 신용카드결제 금액의 3% 수준에 이르고 있으며, 온라인 중심으로 간편결제 거래가 증가하여 2016~2017년 연평균 36%로 높은 증가세를 보이고 있습니다. - SWOT 분석: 장점(Strengths): 금전적 동기 부여로 강력한 실천 유도 다양한 유형의 약속에 적용 가능 약점(Weaknesses): 초기 사용자 확보의 어려움 보증금 관리의 복잡성 기회(Opportunities): 기업 및 교육 기관과의 파트너십 가능성 소셜 미디어 통합으로 확장성 증대 위협(Threats): 유사 서비스의 등장 및 경쟁 사용자의 금전적 부담에 대한 거부감
시장상황에 대한 분석
- 경쟁제품 조사 비교
◇ Calendly (https://calendly.com/): 캘린더와 연동하여 미팅 시간을 쉽게 조율할 수 있는 도구로, 체계적인 일정 조율과 자동화된 알림 기능 등 사용자 친화적인 기능들을 제공합니다. 그러나 Calendly는 보증금이나 벌금을 부과하는 기능이 없어서 시간 준수에 대한 책임감을 유도하지 못한다는 한계점이 존재합니다.
◇ 되는시간 (https://whattime.co.kr/): 비즈니스 일정 조율에 특화된 서비스로, 캘린더와 연동하여 상대방에게 미팅 가능한 시간을 링크로 쉽게 전송할 수 있는 기능이 장점입니다. 이는 특히 여러 사람의 일정을 조율해야 하는 비즈니스 환경에서 편리하게 사용할 수 있습니다. 그러나 LettuceMeet나 Calendly와 마찬가지로 시간 준수에 대한 강제적 요소, 즉 보증금이나 벌금과 같은 기능이 없으며, 결제 시스템도 제공하지 않아 금전적인 약속을 통한 동기 부여가 어렵다는 단점이 있습니다.
- 마케팅 전략 제시
◇ 모임 관리 서비스 측면의 강조 (서비스적 측면) ◇ 벌금 서비스의 강조 (재미적 측면) ◇ 모임이 많은 동아리 등에 제휴 및 홍보 ◇ 스터디와 같이 목표 달성 모임에서도 동기부여 측면에서 벌금 활용 가능
개발과제의 기대효과
기술적 기대효과
◇ 효율적인 모임 관리: 자동화된 시스템으로 약속 생성부터 정산까지의 과정을 간소화하여 시간과 노력을 절약할 수 있습니다.
◇ 신뢰성 있는 결제 시스템: 안전한 결제 및 정산 시스템을 통해 금융 거래의 신뢰성을 확보합니다.
◇ 사용자 친화적 인터페이스: 직관적인 UI/UX를 통해 사용자들이 쉽게 서비스를 이용할 수 있습니다.
◇ 데이터 관리 및 분석: 약속 이행 데이터의 수집과 분석을 통해 향후 서비스 개선과 사용자 행동 패턴 파악이 가능합니다.
경제적, 사회적 기대 및 파급효과
◇ 경제적 효과: 약속 불이행으로 인한 경제적 손실을 감소시키고, 벌금 제도를 통한 수익 창출로 서비스의 지속 가능성을 확보합니다.
◇ 사회적 효과: 약속 이행에 대한 책임감을 높여 개인 간 신뢰를 강화하고, 모임과 커뮤니티 활성화를 촉진합니다.
◇ 문화적 변화: 벌금 제도를 통한 약속의 중요성 인식 제고로 책임 있는 사회 문화를 조성합니다.
◇ 네트워킹 강화: 원활한 모임 운영으로 사회적 연결망을 확대하고 협업 기회를 증가시킵니다.
기술개발 일정 및 추진체계
개발 일정
구성원 및 추진체계
◇ 김동휘(팀장) : 프로젝트 총괄 및 백엔드 개발 ◇ 김나연 : 클라이언트 개발 및 앱 배포 담당 ◇ 배서현 : 백엔드 개발 ◇ 송지함 : 클라이언트 개발 및 UI/UX 구현 ◇ 도안탄후옌 : 백엔드 개발
설계
설계사양
제품의 요구사항
◇ 사용자는 쉽고 빠르게 모임을 생성하고 관리할 수 있어야 한다. ◇ 사용자는 안전하고 신뢰할 수 있는 방식으로 보증금을 결제하고 환불받을 수 있어야 한다. ◇ 사용자는 공유된 링크를 통해 즉시 모임에 참여할 수 있어야 한다. ◇ 모임 약속 위반 시 공정하고 투명한 방식으로 벌금이 부과되어야 한다. ◇ 사용자는 자신이 참여한 모임의 활동 내역과 보증금/벌금 현황을 실시간으로 확인할 수 있어야 한다.
설계 사양
- Client Layer
- 웹/모바일 클라이언트의 멀티플랫폼 지원
- 크로스 플랫폼 UI/UX 일관성 유지
- Hybrid Web App 지원
- API Gateway Layer
- 단일 진입점으로서의 라우팅 처리
- 인증/인가 관리
- 요청/응답 로깅
- 속도 제한 및 보안 정책 적용
- Service Layer
- Auth Service: 사용자 인증 및 권한 관리
- Meeting Service: 모임 생성, 관리, 참여 처리
- Payment Service: 보증금/벌금 결제 및 환불 처리
- Notification Service: 실시간 알림 처리
- Data Layer
- MySQL: 주 데이터 저장소
- Redis: 캐시 관리
- Amazon S3: 사용자 프로필 이미지 저장
◇ 인프라 구조
- GitHub Actions를 통한 CI/CD 파이프라인 구축
- CloudWatch를 통한 모니터링 및 로깅 시스템 구현
- Route53과 CloudFront를 통한 DNS 관리 및 CDN 구축
◇ 데이터베이스 설계
- MySQL을 주 데이터베이스로 사용
- Redis를 캐시용으로 활용
- JPA와 QueryDSL을 통한 데이터 접근 계층 구현
개념설계안
◇ Sequence Diagram - Payment & Create a Promise
이론적 계산 및 시뮬레이션
◇ 약속 이행자와 불이행자의 정산
- 예약금 반환: 약속을 이행한 참여자는 예약금을 돌려받습니다.
- 벌금 계산:
- 벌금 총액 = 불이행자 수 × 개인 예약금
- 1인당 반환 금액 = (벌금 총액 ÷ 이행자 수) + 개인 예약금
- 예시 시뮬레이션:
- 예약금: 5,000원
- 참여자: 5명 (이행자 3명, 불이행자 2명)
- 벌금:
- 벌금 총액 = 2명 × 5,000원 = 10,000원
- 1인당 반환 금액 = (10,000원 ÷ 3명) + 5,000원 ≈ 8,333원
- 최종 결과:
- 이행자: 8,333원씩 반환
- 불이행자: 예약금 몰수
◇ 약속 파기 시 계산
- 모임원 또는 모임장의 약속 파기
- 사전 파기 시 반환 금액:
- 반환 금액 = 예약금 - 벌금
- 시뮬레이션:
- 예약금: 5,000원
- 벌금: 1,000원
- 반환 금액: 5,000원 - 1,000원 = 4,000원
상세설계 내용
시스템 개요
■ 시스템 목적 본 시스템은 모임 관리와 약속 이행을 촉진하기 위한 보증금 기반 서비스입니다. 사용자들의 약속 이행률을 높이고 효율적인 모임 관리를 지원하는 것을 주요 목적으로 합니다.
■ 주요 기능
- 모임 생성 및 관리
- 보증금 기반 약속 시스템
- 벌금 부과 및 정산
- 결제 시스템 연동
- 모임원 초대 및 관리
API 구조 설계
■ 인증 시스템 (auth-controller)
- 일반 로그인 및 소셜 로그인 지원
- 토큰 기반 인증 시스템 구현
- 보안 강화를 위한 인증 계층 구현
■ FCM 알림 시스템 (FCM)
- 푸시 알림 전송 기능
- 토큰 관리 시스템
- 주요 이벤트 발생 시 실시간 알림 지원
■ 회원 관리 시스템 (Member)
- 회원 정보 관리
- 로그아웃 처리
- 활동 내역 조회 (벌금, 결제, 포인트)
- 프로필 관리
- 회원 탈퇴 처리
■ 결제 시스템 (Payment)
- 결제 요청 및 확인 처리
- 약속별 결제 관리
- 보증금 결제 처리
- 벌금 정산 시스템
■ 약속 관리 시스템 (Promise)
- 약속 생성 및 조회
- 약속 상태 관리
- 참가자 관리
- 약속 변경 및 취소
- 참가자 상태 변경 관리
■ 파일 저장 시스템 (s3-controller)
- 파일 업로드/다운로드 지원
- 이미지 및 문서 저장 관리
기술 상세
■ 보증금 시스템
- 모임 생성 시 보증금 설정
- 참가자별 보증금 납부 확인
- 약속 이행 시 보증금 반환 처리
- 벌금 부과 시 차감 처리
■ 모임 관리 시스템
- 링크 기반 초대 시스템
- 참가자 권한 관리
- 모임 일정 관리
- 모임 규칙 설정
■ 알림 시스템
- 약속 생성 알림
- 결제 관련 알림
- 벌금 부과 알림
- 모임 초대 알림
■ 로깅 시스템
- 사용자 활동 로그
- 결제 내역 로그
- 벌금 부과 로그
- 포인트 사용 로그
결과 및 평가
완료 작품의 소개
프로토타입 사진 혹은 작동 장면
관련사업비 내역서
완료작품의 평가
1. 기능 구현 - 요구된 모든 기능(모임 생성, 벌금 부과, 결제 처리, 모임 초대 기능)이 제대로 작동하는지 테스트합니다. - 100% 달성
2. 사용자 경험(UX) - 사용자 인터페이스(UI)와 사용자 경험(UX)을 평가하기 위해 실제 사용자 테스트를 진행하고 피드백을 수집합니다. - 50% 달성 (긍정적인 피드백을 받았으나 목표하던 표본수에 못미침)
3.성능 및 안정성 - 애플리케이션의 성능(속도, 응답 시간)과 안정성(다운타임, 버그 발생 여부)을 테스트합니다. - 성능 테스트 기준 100% 통과
4. 보안 - 보안 취약점을 검토하고, 데이터 암호화 및 사용자 정보 보호 조치를 확인합니다. - 66% 달성 (프론트, 통신, 서버 보안 취약점 중 S3 버킷 주소 노출의 취약점 발견)
5. AWS 인프라 구성 및 배포 - AWS 인프라 설정이 적절하고, 클라우드 배포가 원활히 이루어졌는지 확인합니다. - 100% 달성
향후계획
가. 어려웠던 내용들
◇ 정산 로직의 복잡성
- 약속 이행자와 불이행자의 수에 따라 벌금과 반환 금액을 정확히 계산하는 알고리즘 설계가 까다로웠습니다. 특히, 다양한 시나리오(약속 파기, 이행, 불이행 혼합)에서 정산 결과를 일관성 있게 도출하는 부분이 도전 과제였습니다.
- 모임장 역할 위임 및 다수 사용자가 약속을 파기할 경우의 처리 로직 설계 또한 난해했습니다.
◇ 결제 시스템 연동
- 결제 취소 및 벌금 정산에 대한 외부 플랫폼의 정책과 서비스의 요구 사항 간 조율이 필요했습니다.
◇ 사용자 경험 최적화
- 약속 이행 여부 확인 및 벌금 정산 과정에서 사용자에게 직관적이고 간소화된 인터페이스를 제공하는 데 어려움이 있었습니다.
- 알림 및 실시간 업데이트 기능 구현에서 데이터 동기화와 지연 문제를 해결해야 했습니다.
나. 차후 구현 할 내용
◇ 정교한 정산 및 보고 기능
- 벌금 및 반환 금액의 실시간 계산과 함께 상세 보고서를 제공하는 기능 추가할 예정입니다.
- 모임별 통계와 사용자별 이행률 데이터 시각화를 통해 서비스의 활용도를 높일 예정입니다.
◇ 모임장 권한 세분화
- 모임장의 약속 관리 권한을 세분화하여 특정 권한을 다른 모임원에게 위임할 수 있는 기능입니다.
- 약속 생성자 외에도 공동 관리자 역할을 부여합니다.
◇ 사용자 피드백 기반 개선
- 초기 사용자들로부터 받은 피드백을 기반으로 시스템의 직관성과 편의성을 지속적으로 향상할 것입니다.
- 약속 및 정산 처리 시간을 단축하고, UI/UX를 보다 사용자 친화적으로 개편할 예정입니다.
특허 출원 내용
-