Skip to content

온라인 강의 웹사이트(천재교육 풀스택 2기 네 번째 개인 프로젝트)

Notifications You must be signed in to change notification settings

shinyeeun789/haebeop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 

Repository files navigation

💻 프로젝트 소개

온오프라인 강의 웹 애플리케이션 개발 프로젝트입니다.

🕰 개발 기간

2023.10.05 ~ 2023.11.01

개발 환경

Java Spring Bootstrap javascript jquery ApacheTomcat MariaDB IntelliJ IDEA Github


📌 프로젝트 산출물

1. Usecase Diagram

usecasediagram
PIC1 : 해법 USECASE DIAGRAM

2. Sequence Logic

Admin Sequence Logic
PIC1 : Admin Sequence Logic
Apply Sequence Logic
PIC2 : Apply Sequence Logic
Comment Sequence Logic
PIC3 : Comment Sequence Logic
Board Sequence Logic
PIC4 : Board Sequence Logic
Dataroom Sequence Logic
PIC5 : Dataroom Sequence Logic
Event Sequence Logic
PIC6 : Event Sequence Logic
FAQ Sequence Logic
PIC7 : FAQ Sequence Logic
Member Sequence Logic
PIC8 : Member Sequence Logic
News Sequence Logic
PIC9 : News Sequence Logic
Notice Sequence Logic
PIC10 : Notice Sequence Logic
QnA Sequence Logic
PIC11 : QnA Sequence Logic
Lecture Sequence Logic
PIC12 : Lecture Sequence Logic
LectureAttend Sequence Logic
PIC13 : LectureAttend Sequence Logic
User Sequence Logic
PIC14 : User Sequence Logic

3. ERD

ERD

4. Class Diagram

classdiagram

📱 주요 기능

1. 메인 페이지

  • 인기 강의, 온라인 강의, 오프라인 강의 목록 출력
  • 별점이 높은 리뷰 랜덤으로 선택하여 출력
  • Naver Map API를 사용하여 특정 위치 정보 출력

📷 View



2. 회원 기능

(1) 회원가입

  • AJAX를 사용하여 비동기식으로 아이디 중복 체크 기능 구현
  • 비밀번호, 비밀번호 확인의 값이 동일한지 체크 후, 모든 조건이 true인 경우에만 회원가입할 수 있도록 구현
  • 정규표현식 : 아이디(영문소문자, 숫자 조합 8글자 이상), 비밀번호(8자~16자, 영문소문자/숫자/특수문자 1개 이상)
  • 다음 주소 API를 활용하여 사용자의 주소 정보를 가져와 데이터베이스에 저장
  • 비밀번호는 BcryptPasswordEncoder를 사용하여 암호화한 후 데이터베이스에 저장

📷 View

(2) 로그인

  • DB 값 검증
  • 로그인 시 세션(Session) 생성하여 로그인 처리
  • 아이디 저장하기 체크박스 선택 시, 쿠키에 아이디 저장
  • 로그아웃

📷 View



3. 마이페이지

  • 개인정보 확인 및 변경 기능 구현
  • 비밀번호는 변경하고 싶은 경우에만 입력창이 활성화될 수 있도록 구현
  • 온라인 강의인 경우 강의실 바로가기와 진도율 프로그래스바 출력
  • 현재 로그인한 회원이 수강신청한 강의 목록 출력