요양사와 환자를 연결하는 매칭 플랫폼 서비스입니다.
Care Matching은 요양사와 환자를 효율적으로 연결하는 매칭 플랫폼입니다.
- 🏠 서비스 접속: http://carematching.kro.kr/
(현재는 프로젝트를 종료하고 AWS 프리티어 EC2 + RDS + S3로 유지 중)
2025.02.10 ~ 2025.03.09 (4주)
- 배경: 고령 인구의 지속적인 증가로 요양사에 대한 수요가 빠르게 확대
- 기대효과: 검색부터 채팅, 결제까지 한 번에 처리할 수 있는 원스톱 서비스를 제공함으로써, 더욱 편리하고 매끄러운 사용자 경험을 실현
- 사용자 관리 (회원가입, 로그인, 프로필 관리)
- 요양사 자격 인증 시스템
- 실시간 채팅 기능
- 커뮤니티 게시판 (일반/요양사 전용)
- 결제 시스템
├── src/main/java/com/sesac/carematching
│ ├── caregiver/ # 요양사
│ ├── chat/ # 채팅
│ ├── community/ # 커뮤니티
│ ├── monitoring/ # AWS Health Check용 컨트롤러
│ ├── token/ # JWT Refresh 토큰
│ ├── transaction/ # 결제
│ ├── user/ # 사용자(회원가입, 마이페이지 등)
│ ├── config/ # Spring 설정 및 다양한 핸들러
│ ├── util/ # 유틸
│ └── ...
├── src/main/resources # Spring 설정, 데이터베이스 초기값
└── ...
API 문서는 Swagger UI를 통해 제공됩니다:
- 회원가입/로그인 (JWT 기반 인증)
- 사용자 프로필 관리
- 요양사 자격 인증 시스템
- 권한 관리 (일반 사용자, 요양사, 관리자)
- WebSocket을 활용한 실시간 메시지 전송
- 채팅방 생성
- 메시지 히스토리 저장
- 일반 게시판
- 요양사 전용 게시판
- 게시글 CRUD
- 댓글 및 좋아요 기능
- 조회수 관리
- 토스 페이먼츠 기반 결제
이 프로젝트는 효율적인 API 버전 관리를 위한 URL 기반 버전 시스템을 구현했습니다.
API 엔드포인트 작성시 엔드포인트 맨 앞에 /api를 반드시 포함해야 합니다.
현재 WebConfig.java에서 new ApiVersionRMHM("/api")를 실행하기 때문에 모든 엔드포인트에 대해 /api prefix가 필요합니다.
컨트롤러 코드를 보고 API 엔드포인트를 바로 이해할 수 있도록 코드 가독성을 위해 컨트롤러에 모두 접두사 /api를 직접 작성하는 방식으로 작성했습니다.
-
프로젝트 클론
git clone https://github.com/Jaehyuk-Lee/carematching-backend.git
-
외부 데이터베이스 준비
- MariaDB, Redis 필요
-
환경 변수 설정
- .env.template 파일을 복사해
.env로 이름 변경 후 모든 항목 채우기 DB_: MariaDB 설정JWT_: JWT 설정S3_: AWS S3 설정REDIS_: Redis 설정TOSS_: Toss Payments API 설정
- .env.template 파일을 복사해
-
프로젝트 빌드 및 실행
./gradlew build java -jar build/libs/carematching-*-SNAPSHOT.jar -
Production 환경 실행
- Java 옵션:
java -Dspring.profiles.active=prod -jar "build/libs/carematching-*-SNAPSHOT.jar" - 또는 환경변수에
SPRING_PROFILES_ACTIVE=prod추가
- Java 옵션:

