Skip to content

Latest commit

 

History

History
353 lines (274 loc) · 14.3 KB

README.md

File metadata and controls

353 lines (274 loc) · 14.3 KB

📍Chunjae Project 03

천재교육 풀스택 JAVA 과정 2기 3차 팀 프로젝트 _ 티스푼 페이지

🖥️ 프로젝트 소개

"teaspoon" 이라는 학부모 교육 커뮤니티 사이트입니다.

member

member

member

member


🕰️ 개발 기간

  • 23.09.04일 - 23.09.22일

🧑‍🤝‍🧑 멤버구성

팀장 : 김이호

  • 화면설계서 작성
  • 시퀀스 다이어그램 작성
  • 자료실 기능 구현
    • 파일첨부 기능 구현
    • 관리자 페이지 자료실 관리 기능구현
    • 페이징 처리 기능 구현
  • 마이페이지
    • 본인확인 기능 구현
    • 나의 정보 수정 기능 구현
  • 뉴스 크롤링 기능 구현
  • 페이징 처리 기능 구현
  • 로그인 화면 제작
  • 관리자 페이지 화면 제작



팀원 : 김보경

  • 시퀀스 다이어그램 작성
  • 요구사항정의서 작성
  • 사이드바 기능 구현
  • QNA 기능 구현
    • 관리자 페이지 미답변 질문글 관리 기능 구현
  • 이벤트 당첨 구현
    • 이벤트 추첨 기능 구현
    • 당첨자 발표 기능 구현
    • 당첨자 익명처리 기능 구현
  • 메인페이지 화면 제작



팀원 : 김현경

  • usecasediagram 작성
  • WBS 작성
  • 공지사항 기능 구현
  • FAQ 기능 구현
  • 이벤트 기능 구현
    • 이벤트 신청 기능 구현
  • 관리자 페이지 회원관리 기능 구현
  • 로그인 기능 구현



팀원 : 신예은

  • 커뮤니티 기능 구현
    • 검색 기능 구현
    • 페이징 처리 기능 구현
    • 욕설 필터 기능 구현
    • 커뮤니티 관리 기능 구현
  • 출석체크 기능 구현
  • 회원 기능
    • 로그인 아이디 기억하기 기능 구현
    • 회원가입 기능 구현
  • 관리자페이지
    • 관리자 페이지 화면 제작
    • 통계페이지 기능 구현
    • 방문자수, 포인트 기능 구현
  • 메인페이지 화면 제작



⚙️ 개발 환경

✅FRONTEND :

✅BACKEND :

✅DATABASE :

✅Server :






⚒프로젝트 설계

📂개념적 설계 (USECASE DIAGRAM)

usecasediagram1



📂DATABASE - 테이블 ERD

database_erd



📂DATABASE - 테이블 구현

MEMBER

member

NOTICE

notice

QNA

qna

FAQ

faq

COMMUNITY

community

COMMENT

comment

CATEGORY

category

FILEBOARD

fileboard

FILEINFO

fileinfo

FILTERWORD

filterword

ATTENDANCE

attendance

APPLY

apply

EVENT

event

WINNER

winner

WINNERLIST

winnerlist



📂CLASS DIAGRAM

classdiagram

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

회원

시퀀스다이아그램1

관리자

시퀀스다이아그램2

교육뉴스

시퀀스다이아그램3

공지사항

시퀀스다이아그램4

QnA

시퀀스다이아그램5

FAQ & HOME

시퀀스다이아그램6

커뮤니티

시퀀스다이아그램7

댓글

시퀀스다이아그램8

자료실

시퀀스다이아그램9

이벤트

시퀀스다이아그램10

이벤트 신청

시퀀스다이아그램11

당첨자

시퀀스다이아그램12



📎기능 구현

🗂 메인 페이지

  • 사이드바

main



🗂 회원 기능

1. 로그인

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

2. 회원가입

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

login_join



🗂 마이페이지

1. 본인확인

2. 회원 정보 수정

  • 주소 API 연동
  • 회원정보 변경
  • 탈퇴 기능 구현
  • 로그인시 방문 횟수 증가

mypage



🗂 관리자페이지

1. 대시보드

  • 회원 수, 전체 게시글, 이벤트 참여자 수, 미완료 질문글 수 출력
  • 현재 진행 중인 이벤트 랜덤으로 6개 출력
  • chart.js를 활용하여 비동기 방식으로 차트 출력

2. 회원 관리

  • 전체 회원 목록 출력
  • 강퇴 버튼을 눌러 회원 강퇴 가능

3. 필터링단어 관리

  • 커뮤니티에서 필터링할 단어 추가 및 삭제 구현
  • 현재 추가된 필터링 단어 목록 출력

4. 커뮤니티 관리

  • 필터링 단어가 포함되어 있는 게시글 목록 출력
  • 삭제 버튼을 눌러 커뮤니티 게시글 강제 삭제 가능

5. 자료실 관리

  • 자료실에 등록된 글 목록 출력
  • 삭제 버튼을 눌러 자료실 글 강제 삭제 가능

admin



🗂 자료실

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

자료실



🗂 뉴스

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

news



🗂 이벤트

1. 이벤트 관리

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

2. 이벤트 신청

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

이벤트



🗂 이벤트 당첨

1. 이벤트 신청자 목록

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

2. 이벤트 당첨

  • 랜덤으로 원하는 당첨자수 선정하도록 구현
  • 추첨 후 당첨자 발표글에 당첨자 익명 처리 구현
  • 당첨자 발표글 클릭시 당첨자만 폭죽 효과 나오도록 구현

eventApply



🗂 출석체크

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

attendance



🗂 커뮤니티

1. 커뮤니티

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

2. 댓글

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

community



🗂 FAQ

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

faq



🗂 공지사항

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

notice



🗂 Q & A

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

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

qna_member

2. 관리자 로그인 시

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

qna_admin