Skip to content

천재교육 풀스택 2기 팀프로젝트(4)

Notifications You must be signed in to change notification settings

shinyeeun789/haebeop-team

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

📍Chunjae Project 04

천재교육 풀스택 JAVA 과정 2기 4차 팀 프로젝트 _해법 홈페이지

🖥️ 프로젝트 소개

"해법(Haebeop)" 이라는 온라인/오프라인 강의 및 커뮤니티 사이트입니다.

list


🕰️ 개발 기간

  • 23.10.10일 - 23.10.27일

🧑‍🤝‍🧑 멤버구성

팀장 : 김이호

  • 시퀀스 다이어그램 작성
  • usecasediagram 작성
  • 이벤트 기능 구현
    • 이벤트 신청 기능 구현
  • 이벤트 당첨 구현
  • 이벤트 추첨 기능 구현
  • 당첨자 발표 기능 구현
  • 당첨자 익명처리 기능 구현
  • 마이페이지
    • 나의 정보 수정 기능 구현
  • 강의 기능 구현
    • 강의 목록 기능 구현
    • 강의 상세보기 기능 구현
    • 강의 후기 기능 구현
    • 강의별 질문 게시판 기능 구현
    • 수강신청 인원제한 및 로그인 여부 기능 구현



팀원 : 김보경

  • 화면설계서 작성
  • 요구사항정의서 작성
  • WBS 작성
  • 출석체크 기능 구현
    • 출석체크시 포인트 지급 기능 구현
  • 커뮤니티 기능 구현
    • 검색 기능 구현
    • 페이징 처리 기능 구현
    • 욕설 필터 기능 구현
    • 커뮤니티 관리 기능 구현
    • 커뮤니티 댓글 기능 구현
  • 투두리스트 기능 구현
  • 뉴스 크롤링 기능 구현
  • 페이징 처리 기능 구현
  • 로그인 기능 구현
    • 아이디 기억 기능 구현



팀원 : 김현경

  • 로그인 기능 구현
  • 강의 결제 기능 구현
    • 배송 기능 구현
    • 환불 기능 구현
  • 교재 기능 구현
    • 이벤트 신청 기능 구현
  • 자료실 기능 구현
    • 파일첨부 기능 구현
    • 관리자 페이지 자료실 관리 기능구현
    • 페이징 처리 기능 구현



팀원 : 신예은

  • QNA 기능 구현
    • 관리자 페이지 미답변 질문글 관리 기능 구현
  • FAQ 기능 구현
  • 공지사항 기능 구현
  • 강의 기능 구현
    • 강의 폐강 기능 구현(마감 일주일 전, 수강생 5명 이하)
    • 강의 후기 기능 구현
    • 마이페이지 강의 목록 기능 구현
    • 수강신청 인원제한 및 로그인 여부 기능 구현
    • 온라인 강의 포인트 결제 기능 구현현
  • 출석체크 기능 구현
    • 학생 출결코드 인증 기능 구현
    • 교사 출결코드 발급 기능 구현
  • 메인페이지 제작
  • 관리자페이지 기능 구현
    • 관리자페이지 화면 구현 ( 차트 및 수식 구현)
    • 강사 목록 및 추가 기능 구현



⚙️ 개발 환경

✅FRONTEND :

✅BACKEND :

✅DATABASE :

✅Server :






⚒프로젝트 설계

📂개념적 설계 (USECASE DIAGRAM)

usecasediagram1



📂DATABASE - 테이블 ERD

database_erd



📂DATABASE - 테이블 구현

USER

member

NOTICE

notice

QNA

qna

FAQ

faq

BOARD

board

COMMENT

comment

CATEGORY

category

FILEINFO

fileinfo

ATTENDANCE

attendance

APPLY

apply

EVENT

event

WINNER

winner

WINNERLIST

winnerlist

BOOK

winnerlist

CURRICULUM

winnerlist

DATAROOM

winnerlist

DELIVERY

winnerlist

LECBOARD

winnerlist

LECTURE

winnerlist

LECTUREATTEND

winnerlist

PAYMENT

winnerlist

RECEIVE

winnerlist

REGISTER

winnerlist

REVIEW

winnerlist

SAVEATTENDCODE

winnerlist

SERVE

winnerlist

STUDYINFO

winnerlist

SUBJECT

winnerlist

TEACHER

winnerlist

TODO

winnerlist



📂CLASS DIAGRAM

classDiagram1 classDiagram2



📂시퀀스 다이어그램 (Sequence Diagram)

회원

시퀀스다이아그램1

관리자

시퀀스다이아그램2

교육뉴스

시퀀스다이아그램3

공지사항

시퀀스다이아그램4

QnA

시퀀스다이아그램5

FAQ & HOME

시퀀스다이아그램6

커뮤니티

시퀀스다이아그램7

댓글

시퀀스다이아그램8

자료실

시퀀스다이아그램9

이벤트

시퀀스다이아그램10

이벤트 신청

시퀀스다이아그램11

당첨자

시퀀스다이아그램12

강의

시퀀스다이아그램13

출석체크

시퀀스다이아그램14

결제

시퀀스다이아그램15



📎기능 구현

🗂 메인 페이지

  • 사이드바


    index

🗂 회원 기능

1. 로그인

  • DB값 검증
  • 로그인 시 쿠키(Cookie) 및 세션(Session) 생성
  • 로그아웃
  • 아이디 저장


    로그인

2. 회원가입

  • 주소 API 연동
  • ID 중복 체크
  • 비밀번호 유효성 검사


    회원가입



🗂 강의

1. 비로그인 및 회원 로그인 시

  • 강의 목록(온라인/오프라인)
  • 강의 상세보기 (ajax 이용하여 강의소개, 목차, 질문게시판, 수강후기 확인)


    강의

2. 회원 로그인 시

  • 수강신청 기능구현
  • 수강인원 초과시 수강신청 제한
  • 이미 신청한 회원 중복신청 방지 기능 구현
  • 질문게시판 CRUD
  • 수강신청 후 수강후기 작성 및 별점 주기 가능하도록 구현

3. 결제

  • 온라인 강의 포인트로 결제하도록 기능 구현
  • 오프라인 강의 결제API 연결하여 결제
  • 회원 로그인시 마이페이지에서 주문취소/배송조회 가능



🗂 자료실

  • CRUD
  • 관리자: 자료실 등록[다수의 파일 첨부 가능], 자료실 글[파일 포함] 수정, 자료실 글 삭제 가능
  • 회원: 자료실 글 상세 보기만 가능


    자료실



🗂 뉴스

  • 뉴스 크롤링 기능 구현
  • 뉴스 클릭시 해당 뉴스 링크로 이동


    교육뉴스



🗂 이벤트

1. 이벤트 관리

  • CRUD
  • 관리자: 이벤트 등록[파일 첨부], 이벤트 글 수정, 이벤트 글 삭제
  • 회원: 이벤트 글 상세보기만 가능


    이벤트(관리자)

2. 이벤트 신청

  • 한번 신청한 회원 중복 신청 방지 구현
  • 한 회원이 여러 이벤트 신청 가능하도록 구현
  • 비로그인시 이벤트 신청 버튼 안보이도록 구현


    이벤트(회원)



🗂 이벤트 당첨

1. 이벤트 신청자 목록

  • 관리자 : 이벤트 신청자 목록 확인
  • 추첨하기 링크로 이동

2. 이벤트 당첨

  • 랜덤으로 원하는 당첨자수 선정하도록 구현
  • 추첨 후 당첨자 발표글에 당첨자 익명 처리 구현


    이벤트당첨



🗂 출석체크

  • 비로그인 시 로그인 페이지로 이동
  • 출석체크 클릭 시 달력의 오늘 날짜에 스타일 변경 및 포인트 획득 창 출력
  • 출석체크 시 10부터 100까지 10단위의 랜덤한 숫자의 포인트 획득 가능
  • 출석체크 데이터와 추가된 포인트 데이터를 DB에 INSERT


    출석체크



🗂 커뮤니티

1. 커뮤니티

  • 커뮤니티 게시글 작성, 읽기, 수정, 삭제 구현
  • ckEditor를 활용하여 HTML 태그를 저장함으로써 게시글 내용을 자유롭게 작성 가능
  • Page util 생성하여 페이징 기능 구현
  • 커뮤니티의 카테고리 동적 구현

2. 댓글

  • 댓글 작성, 삭제 구현
  • 댓글 페이징 처리
  • 비로그인시 댓글 작성 폼 비활성화
  • 게시글 작성자와 관리자만 게시글 수정, 삭제 가능


    커뮤니티



🗂 FAQ

  • FAQ 글 목록 화면 및 기능 구현


    faq



🗂 공지사항

  • 관리자만 공지사항 글 쓰기, 수정, 삭제 가능하도록 구현
  • 회원은 공지사항 글 상세 보기만 가능하도록 구현


    공지사항



🗂 Q & A

1. 비로그인 및 회원 로그인 시

  • 비로그인 시 Q & A 목록만 확인 가능하도록 구현
  • 회원 로그인 시 질문글만 작성 가능
  • 질문글을 작성한 사용자만 글 수정, 삭제 가능


    qna(회원)

2. 관리자 로그인 시

  • 관리자 로그인 시 전체 게시글 CRUD 가능하도록 구현
  • 관리자 페이지에서 미답변 질문 글 목록을 확인 후 바로 답변할 수 있도록 구현


    qna(관리자)



🗂 마이페이지

  • 마이페이지에서 수강신청한 강의, 오프라인 강의 출석하기, 개인정보변경, 배송확인 할 수 있도록 구현


    마이페이지



🗂 관리자페이지

  • 관리자페이지에서 회원정보,질문게시판,강의,강사,교재,커리큘럼,배송을 관리할 수 있도록 구현


    관리자페이지

Releases

No releases published

Packages

No packages published

Languages

  • Java 53.0%
  • HTML 24.4%
  • CSS 14.9%
  • JavaScript 4.6%
  • SCSS 3.0%
  • PHP 0.1%