[🎱 개발 환경]
- 진행기간 2022년 8월 10일 ~ 2022년 9월 14일
- 🖥 운영체제 : macOS
- 🛠 사용 기술 스택
Front-end : HTML5, CSS3
Back-end : java 8 (1.8), Springboot, SpringJPA
Database : Mysql, H2 DB- API : 동행복권 API
동행복권의 API에 의존하게 될 경우, 해당 서버가 다운되거나 에러 발생 시 그대로 영향을 받기 때문에 데이터를 자체적으로 가지고 있는 환경을 만들기 위해서 local DB에 저장하여 사용합니다.
1등 : (총 당첨금 - i ) 0.75
2등 : (총 당첨금 - i ) 0.125
3등 : (총 당첨금 - i ) 0.125 / 당첨자수
4등 : 전체 금액 - (50,000 당첨자 수)
5등 : 전체 금액 - (5,000 * 당첨자 수)
로또 구입 금액
과 번호 추출 타입
을 입력받는다6개의 번호 + 보너스 번호
를 반환해준다 (번호는 중복되지 않는다)👉동행복권 lotto Api 저장
: 매주 일요일 동행복권 Api 추첨 정보 자동 저장 (schedule)
👉회원 요청 로또 번호 추출
: 전자동, 반자동, 전체수동
: 로또 번호 검증(Ball)
👉당첨자 선별 도메인
input
output
1️⃣ t_subscription : 랜덤번호 구독서비스 (이메일, 핸드폰 전송)
2️⃣ t_lotto_api : 1~현재 회차 당첨 정보 데이터
3️⃣ t_winning_info : 당첨자 정보
당첨자 전체 누적 데이터 회원이 정보 요청을 하거나 데이터 분석이 필요할 수 있다
4️⃣ t_winner : 이번회차 당첨자
5️⃣ t_users : 데이터 관리를 위해 회원가입 진행
6️⃣ t_cycle_storage : 당 회차 랜덤 번호 추첨 결과
=> 매회차별 다른 경우의 수가 나와야하기때문에 데이터 저장 / 검열 하는 역할을 하는 저장소이다.
따라서 한 회차가 지나면 리셋된다.
존재하는 경우(이미 존재) : 랜덤 번호 다시 추출
존재하지 않는 경우 : 사용자에게 응답
7️⃣ t_ball_storage : 사용자 추출 번호 누적 저장소 (회차가 지난 데이터 확인 가능)
cycle_storage의 동일한 데이터가 누적되어 들어간다