Skip to content

About

일상 서비스 매칭 플랫폼

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

EFY 로고

EFY

Experts for you

일상에 필요한 도움, 믿고 맡길 전문가를 바로 만나보세요.

일반 사용자와 고수가 견적 요청과 제안을 통해 만나는 일상 서비스 매칭 플랫폼

2026.10.26 – 2026.11.06 · 백엔드 개발자 5인 팀 프로젝트


이현정 · 팀장 김태민 김지웅 박건웅 김영서
이현정 GitHub 프로필 김태민 GitHub 프로필 김지웅 GitHub 프로필 박건웅 GitHub 프로필 김영서 GitHub 프로필
@bam090 @qkdtkd77 @j-woong @pgw2001 @Luvys99

배포 사이트 · 프로젝트 문서 · 요구사항 명세서 · API 명세서 · ERD


프로젝트 소개

EFY는 이사·과외 등 일상에 필요한 서비스를 제공하는 전문가와 사용자를 연결하는 플랫폼입니다.
사용자는 견적을 요청하고, 제안받은 견적을 비교해 자신에게 맞는 전문가를 선택할 수 있습니다.
전문가는 커뮤니티에서 노하우를 공유하고 자신의 서비스를 홍보할 수 있습니다.

팀은 백엔드 구현에 집중하며, 데스크톱·모바일 프론트엔드는 AI를 활용해 제작했습니다.

요청서 작성 → 견적 발송·비교 → 의뢰 요청 → 실시간 채팅

주요 화면

홈요청서 작성받은 견적서 목록
홈 요청서 작성 받은 견적서 목록
채팅활동 중인 고수 찜커뮤니티
채팅 활동 중인 고수 찜 커뮤니티

주요 기능

  • 회원·인증: 회원가입·로그인, JWT 인증·재발급·로그아웃, USER·EXPERT 역할 전환, 관리자 회원 관리
  • 기준 데이터: 카테고리·지역 공개 조회 및 관리자 등록·수정·삭제
  • 고수 프로필: 등록·수정·공개 조회, 활동 지역·제공 서비스, 작업 사진
  • 견적: 요청서 작성·취소, 조건에 맞는 고수에게 노출, 견적 발송·회수·만료, 의뢰 요청
  • 채팅: WebSocket(STOMP) 실시간 메시지·사진, 안 읽음 수, 읽음 처리, 나가기
  • 커뮤니티: 고수 노하우·고수에게 묻다 게시글·댓글, 좋아요, 관리자 공개 여부 관리
  • 크레딧·결제: 토스 테스트 결제 충전, 견적 발송 시 크레딧 예약·의뢰 요청 시 차감·만료 시 해제, 충전·사용 내역

시스템 아키텍처

React 프론트엔드를 Docker에서 빌드해 Spring Boot에 포함합니다. 브라우저는 같은 배포 주소에서 화면을 열고 API와 실시간 채팅에 연결합니다.

flowchart LR
    Browser["사용자 브라우저"]
    subgraph Cloudtype
        App["Spring Boot · React 정적 파일"]
        DB[("MariaDB")]
    end
    Storage["Supabase Storage"]
    Toss["토스페이먼츠 테스트 환경"]
    Browser -->|"HTTPS · WebSocket/STOMP"| App
    App -->|"JPA"| DB
    App -->|"이미지 저장·조회"| Storage
    Browser -->|"테스트 결제창"| Toss
    App -->|"결제 승인"| Toss
Loading

기술 스택

구분 기술
언어 Java 25
프레임워크 Spring Boot 4.1.2, Spring MVC
인증·인가 Spring Security, JWT
데이터 접근 Spring Data JPA
데이터베이스 H2(로컬), MariaDB(배포)
API 문서 springdoc-openapi, Swagger UI
빌드·개발 도구 Gradle, Lombok, MapStruct
실시간 통신 WebSocket, STOMP
외부 연동 Toss Payments(테스트), Supabase Storage
프론트엔드 React 18, TypeScript, Vite (AI 활용 제작)
배포 Docker, CloudType

담당 범위

담당 영역 구현 범위
이현정 회원·인증·기준 데이터 회원 관리, JWT, 카테고리·지역, 공통 설정
이현정 고수 프로필 고수 등록·조회·수정, 활동 지역·제공 서비스 연결
김태민 견적 요청·매칭 고객 요청, 조건에 맞는 고수 조회, 견적서 발송·선택, 완료 처리
김영서 채팅 WebSocket 연결, 채팅방·참여자·메시지, 대화 조회
박건웅 커뮤니티 고수 노하우·고수에게 묻다, 게시글·댓글
박건웅 반응 고수 찜, 게시글·댓글 좋아요
김지웅 크레딧·결제 토스 테스트 결제(주문·승인·실패 기록), 충전 상품, 견적 크레딧 예약·차감·해제, 잔액·사용 가능 크레딧, 충전·사용 내역

협업 방식

  • main: 배포용 브랜치
  • dev: 기능 통합 브랜치
  • 기능 브랜치: dev에서 생성하며 <type>/<이슈번호>-<기능명> 형식 사용
  • 작업 완료 후 dev 대상으로 PR을 작성하고 Squash and merge로 병합
  • PR 본문에 Closes #이슈번호를 작성해 이슈 연결

코드 컨벤션 · 테스트 및 이슈

로컬 개발 안내 · 프론트엔드 개발 문서

About

일상 서비스 매칭 플랫폼

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages