서울시립대학교 학생들을 위한 미팅 서비스를 제공하는 프로젝트 시대팅의 서버 레포지토리입니다. (최신 버전: 5)
- API Docs : swagger
- Kotlin & JDK 17
- Springboot 3.0.5
설치
$ git clone https://github.com/uoslife/server-meeting
운영 파일 추가
$ cd server-meeting && touch src/main/resources/application.yml
빌드
$ ./gradlew build testClasses -x test
실행
$ java -jar build/libs/server-meeting-0.0.1-SNAPSHOT.jar
EC2 & RDS 기준입니다. 본인이 실력이 있다면, 오토 스케일링, 온프레 등등 시도해보세요. (다만 현재는 REDIS, ConcurrentMap을 사용하고 있습니다)
- EC2 접속 후, NGINX and SSL 설정 (to 8081 port)
- 도커, 도커 컴포즈 설치
- REDIS 설치 후, 비밀번호 설정 및 외부 바인드 오픈 (외부 확인용)
- RDS 생성
- sudo vi .env 를 통해 env 파일 환경변수 주입
- Git Action 환경변수 설정 (ec2, docker hub)
- Git Action 실행
- PortOne KEY -> 관리자 콘솔
- Cookie -> 프론트엔드 도메인
- AWS KEY -> UOSLIFE AWS
- 모든 주문정보는 SOFT DELETE 진행
- 주문 정보 생성, 팀 생성은 1초 이내 동시 요청 시 두 번째 요청은 거절
- 선호 테이블, 유저 Info 테이블에는 FK에 UNIQUE 제약 조건 직접 삽입 (JPA + NULL 정책 때문에 UNIQUE가 적용X)
- 가입, 로그인 플로우를 분리하는 것 고려