프로젝트/게시판만들기

[사이드프로젝트/게시판만들기] 프로젝트 명세서

각시탈코더 2023. 2. 17. 15:33

1.아이템 선정

  • 웹의 기본적인 소양인 CRUD를 구성하는 게시판을 만들고, 기능을 하나씩 추가한다.

2.개요

  • 프로젝트 명칭:BoardService
  • 개발인원:1명
  • 개발기간:2023.02.17~ 2023.02.28
  • 주요기능

①게시판 - CRUD 기능, 조회수, 페이징 및 검색기능
②댓글 - CRUD 기능
③사용자 - 회원가입, 로그인, 유효성검사

  • 개발언어:Java8
  • 개발환경:Spring Boot, Spring MVC, Spring JDBC, Thymeleaf, Lombok
  • 데이터베이스:MySQL
  • 형상관리 툴:GitHub
  • 라인수

 

3.요구사항 분석

3-1.회원 가입 페이지

  • 권한은 일반 사용자, 관리자가 있다
  • 회원 가입을 하면 기본적으로 일반 사용자 권한을 갖는다.
  • 회원은 여러 권한을 가질 수 있다.
  • 일반 사용자는 여러명 있을 수 있다.
  • 관리자는 여러명 있을 수 있다.

3-2.로그인

  • id(또는 email), 암호를 입력해 로그인한다.
  • id,암호가 일치할 경우 로그인 처리한다.

3-3. 글쓰기

  • 로그인을 한 사용자는 글을 작성할 수 있다.

3-4.글 목록 보기

  • 1페이지는 최대 10개씩 보여진다.
  • 전체 페이지 목록이 보인다.

 

4. DB 설계

create table role (
	role_id int primary key,
    name varchar(20)
);

create table user(
	user_id int primary key auto_increment,
    email varchar(255) not null,
    name varchar(50) not null,
    password varchar(50) not null,
    regdate timestamp default now()
);

create table user_role (
	user_id int,
    role_id int,
    primary key(user_id, role_id),
    foreign key(user_id) references user(user_id),
    foreign key(role_id) references role(role_id)
);

create table board (
	board_id int primary key auto_increment,
    title varchar(100) not null,
    content text null,
    user_id int not null,
    regdate timestamp default now(),
    view_cnt int default 0,
    foreign key (user_id) references user(user_id)
);

5. API 설계

 

6.와이어 프레임

글 목록
로그인
회원가입
로그인 접속
글 상세보기
글 수정
welcome

7.페이퍼 프로토타이핑

7-1.목록

 

7-1-1.로그인 안했을 때

 

7-1-2. 로그인 했을 때

 

7-2.목록 상세보기

 

 

7-2-1. 글 상세(로그인)

 

 

7-2-2. 글 상세(로그인X)

 

7-3.삭제하기

7-4.수정하기

 

 

7-5.회원가입

 

7-6.로그인

 

7-7.welcome

 

8.개발내용