온오프라인 강의 웹 애플리케이션 개발 프로젝트입니다.
2023.10.05 ~ 2023.11.01
![]() |
PIC1 : 해법 USECASE DIAGRAM |
![ERD](https://private-user-images.githubusercontent.com/70800414/279703701-3b61ef19-696f-4bf8-b5d0-34695f20fabf.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkxOTA5MDcsIm5iZiI6MTcxOTE5MDYwNywicGF0aCI6Ii83MDgwMDQxNC8yNzk3MDM3MDEtM2I2MWVmMTktNjk2Zi00YmY4LWI1ZDAtMzQ2OTVmMjBmYWJmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI0VDAwNTY0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRjODNmODg1MDcwNWI1MDFhMGVjOTQxNWUxMTgzYWFiMTQ2NzNlYzRkYWZjM2M1NDk1YzY5ZGQyOWM1YjYyNzgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.L4gyNLgxgkuGE5Xd4tuvafcVxH4bVi1X4fxK4p5HtY0)
![classdiagram](https://private-user-images.githubusercontent.com/70800414/279703762-e2d4d27c-f846-4a81-a87b-536164fb1442.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkxOTA5MDcsIm5iZiI6MTcxOTE5MDYwNywicGF0aCI6Ii83MDgwMDQxNC8yNzk3MDM3NjItZTJkNGQyN2MtZjg0Ni00YTgxLWE4N2ItNTM2MTY0ZmIxNDQyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI0VDAwNTY0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVhMjcxMzg3MjI0ZjEzNjliYzZhM2FjMzVhMjhhZjA0ZjNjYmIwOTkzNzBhNDE5NDY5OWYyNTZkMDk4ZWM0Y2ImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.-1vIP0f45u08Ms8vGLxd89hIgB0ssMc0XCKLDFqmDHw)
- 인기 강의, 온라인 강의, 오프라인 강의 목록 출력
- 별점이 높은 리뷰 랜덤으로 선택하여 출력
- Naver Map API를 사용하여 특정 위치 정보 출력
- AJAX를 사용하여 비동기식으로 아이디 중복 체크 기능 구현
- 비밀번호, 비밀번호 확인의 값이 동일한지 체크 후, 모든 조건이 true인 경우에만 회원가입할 수 있도록 구현
- 정규표현식 : 아이디(영문소문자, 숫자 조합 8글자 이상), 비밀번호(8자~16자, 영문소문자/숫자/특수문자 1개 이상)
- 다음 주소 API를 활용하여 사용자의 주소 정보를 가져와 데이터베이스에 저장
- 비밀번호는 BcryptPasswordEncoder를 사용하여 암호화한 후 데이터베이스에 저장
- DB 값 검증
- 로그인 시 세션(Session) 생성하여 로그인 처리
- 아이디 저장하기 체크박스 선택 시, 쿠키에 아이디 저장
- 로그아웃
- 개인정보 확인 및 변경 기능 구현
- 비밀번호는 변경하고 싶은 경우에만 입력창이 활성화될 수 있도록 구현
- 온라인 강의인 경우 강의실 바로가기와 진도율 프로그래스바 출력
- 현재 로그인한 회원이 수강신청한 강의 목록 출력