Skip to content

Goorm-Synergy/Synergy-Backend

Repository files navigation

Synergy-Backend

codecov Gradle Build & Test

프로젝트 목표

  • IT 컨퍼런스 참가자의 적극적인 참여 유도 및 네트워킹 기회 극대화
  • 운영/관리자의 데이터 기반 운영 최적화 및 ROI 증대
  • IT 업계 인재 매칭 촉진 및 채용 연계 성공률 향상

주요 기능

인증 및 보안

  • JWT 기반 인증/인가 처리
  • 이메일 인증 기반 계정 보호
  • QR 코드 스캔 및 인증 기능 제공

데이터 분석 및 랭킹

  • 실시간 데이터 분석 대시보드 제공
  • 참가자 관심 분야 ↔ 참가 세션 인기도 분석
  • 등급별 참가자 랭킹 팝업, 누적 포인트 랭킹 팝업 제공

사용자 온보딩 및 정보 매칭

  • 참가자 관심분야, 직무 기반 맞춤형 정보 제공 및 매칭 지원
  • 참가자 온보딩 정보 관리 기능 제공

시스템 주요 흐름 (Sequence Diagram)

인증 관련 흐름

이메일 인증

EmailVerification

어드민/리크루터 로그인

LoginAsAdminRecruiter

참가자 로그인

LoginAsAttendee

로그인 시도 횟수 초과 및 계정 잠금

LoginAttemptAccountLock

비밀번호 초기화

PasswordReset

회원가입

Signup

참가자 관련 흐름

온보딩

OnBoarding

관리자 관련 흐름

참가자 포인트 랭킹 조회

AdminAttendeeRanking

채용담당자 관련 흐름

참가자 '좋아요' 기능

RecruiterLikeAttendee

기술 스택

  • Java 17
  • Spring Boot 3.x
  • Spring Data JPA
  • Redis
  • MySQL (RDS)
  • JWT 인증/인가
  • AWS EC2, S3, RDS
  • Docker, Docker Compose
  • GitHub Actions (CI/CD)

데이터베이스 ERD

프로젝트의 DB 구조는 아래 ERD를 참고해주세요. conference ERD

테스트 및 커버리지

  • JUnit 5 + Mockito
  • Jacoco + Codecov

API 문서

Swagger로 확인:

/swagger-ui/index.html

팀 소개

역할 이름 담당
PM 신해지 기획 및 프로젝트 관리
PD 황윤주, 조민영 사용자 인터페이스(UI) 디자인
FE 김동균(리더), 박혜정 프론트엔드 개발
BE 박정곤(리더), 이민정, 김승진, 정태민 백엔드 개발

향후 계획

  • 부스 리워드 시스템 추가 예정
  • 참가자 데이터 분석 강화 및 인사이트 제공

실행 방법

기본 로컬 실행

./gradlew bootRun

프로파일(profile) 별 실행 방법

# 개발 환경 실행
./gradlew bootRun --args='--spring.profiles.active=dev'

# 테스트 환경 실행
./gradlew test -Dspring.profiles.active=test

API 문서 (RestDocs)

RestDocs 문서는 프로젝트 실행 시 다음 경로에서 접근 가능합니다:

/static/docs/index.html

필수 환경변수

로컬 환경에서 실행할 때 다음 환경변수를 설정해주세요:

환경변수 설명
JWT_SECRET JWT 토큰 비밀키
DB_URL MySQL 데이터베이스 URL
DB_USERNAME MySQL 데이터베이스 사용자명
DB_PASSWORD MySQL 데이터베이스 비밀번호
ACCESS_KEY AWS 액세스 키
SECRET_KEY AWS 시크릿 키
REGION AWS 리전 정보
BUCKET_NAME AWS S3 버킷 이름
EMAIL_ADDRESS 발송 이메일 주소
EMAIL_USERNAME 이메일 발송 계정 사용자명
EMAIL_PASSWORD 이메일 발송 계정 비밀번호

Gradle 명령어

# 테스트 실행
./gradlew test

# Jacoco 커버리지 리포트 생성
./gradlew jacocoTestReport

# 실행 가능한 Jar 생성
./gradlew bootJar

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages