더보기
본 글은 (주)인실리코젠 이병준 주임님과 이수호 주임님께서 제공해주신 Spring CRUD 프로젝트 입니다.
요구사항
요구사항 | 세부내용 | 요구 기술 |
사용자 회원 가입 | 사용자 아이디는 중복 검사를 통해 유효성 검사 | Front : jQuery validation Back : Hibernate validator |
비밀번호는 숫자, 영문, 특수문자를 조합하여 최소 8자리 | ||
비밀번호를 찾기 위한 사용자 비밀번호 힌트 풀 제공 | ||
필수 입력사항 표시 항목 : 사용자 아이디, 사용자 이름, 비밀번호, 성별, 생년월일, 비밀번호 힌트 |
||
회원 비밀번호 찾기 | 회원 가입 시 선택한 비밀번호 힌트를 통해 비밀번호 찾기 | |
새로운 비밀번호로 변경 가능하도록 구현 | ||
공지사항 게시판 | 게시판 등록은 관리자 권한 사용자만 등록 | Tabulator.js |
우선 게시 여부, 사용 여부 입력 | ||
첨부파일 업로드 | ||
글 내용에 이미지 업로드 => 내용에 표시 | ||
필수 입력 사항 표시 (항목 : 제목, 내용, 우선 게시 여부, 사용 여부) |
||
공지사항 게시판 댓글 | 로그인 여부에 상관없이 공지사항에 댓글 등록 | |
댓글 수정, 삭제는 관리자 또는 등록자만 가능 | ||
회원 통계 | 시스템이 회원 가입한 사용자들의 나이, 성별, 가입일시에 따른 결과를 시각화하여 표시하도록 구현 | Chart.js |
게시글 통계 | 등록 일시에 따라 시각화 | Chart.js |
첨부파일 통계 시각화 | ||
조회 수와 댓글 수에 따라 시각화 |
데이터 베이스 설계
데이터베이스를 설계 과정은 요구사항 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 순서에 해당된다.
요구사항 분석
회원가입 기능
- 로그인 아이디 중복 검사 필요
- 비밀번호 최소 8자
- 숫자, 영문, 특수문자 조합
- 비밀번호 찾기 기능
- 필수 항목
- 사용자 아이디(로그인 시 필요한 아이디)
- 사용자 이름
- 비밀번호
- 성별
- 생년월일
- 비밀번호 힌트
공지사항 게시판 기능
- 사용자 관리자 권한 구분
- 게시판 옵션
- 우선 게시
- 게시글 사용
- 첨부파일 업로드 가능
- 글 내용에 이미지 업로드 가능
- 내용에 표시 되도록
- 필수 항목
- 제목
- 내용
- 옵션
- 댓글
- 로그인 , 비로그인 구분
- 수정 및 삭제
- 관리자 or 게시글 등록자만 가능
통계 기능
- 회원통계
- 시각화
- 나이, 성별, 가입 일시
- 시각화
- 게시글 통계
- 시각화
- 등록 일시
- 첨부파일
- 조회 수 및 댓글 수
- 시각화
개념적 설계
회원가입 테이블 (User)
- user_id (PK): 사용자 고유 식별자
- user_login_id: 사용자 로그인 아이디 (중복 검사 필요)
- user_name: 사용자 이름
- password: 비밀번호 (최소 8자, 숫자, 영문, 특수문자 조합)
- gender: 성별
- date_of_birth: 생년월일
- answer: 비밀번호 힌트 정답
- hint_id : 힌트 테이블 FK
힌트 테이블
- hint_id(PK): 힌트 고유 식별자
- content: 힌트 내용
공지사항 게시판 테이블 (Board)
- board_id(PK): 공지사항 고유 식별자
- title: 게시글 제목
- content: 게시글 내용
- user_id(FK) : 게시글 등록자
댓글 테이블 (Comment)
- comment_id (PK): 댓글 고유 식별자
- content: 댓글 내용
- user_id (FK): 댓글 작성자
- board_id (FK): 댓글이 작성된 게시글
첨부 파일 테이블 (Attachement File)
- Attachement_File_id (PK): 첨부파일 고유 식별자
- file_name: 이름 내용
- file_size : 파일 크기
- file_path : 파일 경로
- board_id (FK): 파일 업로드된 게시글
권한 테이블 (Auth)
- auth_id(PK) : 권한 고유 식별자
- auth_content : 권한 명
논리적 설계
물리적 설계
설계 시 용어 사전에 따라 컬럼명을 정의하였음.
'인실리코젠' 카테고리의 다른 글
[인실리코젠] Spring Security + JWT + JPA (0) | 2024.03.15 |
---|---|
[인실리코젠] Spring CRUD - 회원 가입 (0) | 2024.02.16 |
[인실리코젠] Web Crawling - Finish (1) | 2024.02.02 |
[인실리코젠] WebCrawling - 2 (0) | 2024.01.22 |
[인실리코젠] Spring : 용어 정리(기본) (0) | 2024.01.19 |