1.개발 환경

통합 개발 환경 IntelliJ IDEA 2022.3 (Ultimate Edition)
Language Java
개발 도구 JDK 1.8.0_322 이상
메인 프레임워크 SpringBoot 2.6.3
프로젝트 생성 도구 Spring Initalizr (intelliJ 안에서 생성)
빌드 Gradle 5.6 -groovy
데이터베이스 연동 MySQL JDBC Connecter
데이터베이스 MySQL 8.0.32
UI Bootstrap 4/5 (변경 가능)
Thymeleaf
Packaging Jar  War
Dependencies Spring Web
Spring Data JPA
MySQL Driver
Lombok
Thymeleaf
Embedded Server Apache Tomcat 9.0.56

찾아보니 jsp방식을 사용하려면 배포할때 jar가 아닌 war를 사용해야한다고 한다. 그래서 수정을 했다...

2.시스템 환경 설정

운영체제 Window 10이상
Browser Chrome (version.110.0.5481.178)
Edge(version. 110.0.1587.63 )
모니터 Full HD(1920 * 1080 해상도) 이상

 

3.테이블 정의서 + 데이터 설계

오타가 좀 있지만.. DB의 대략적인 틀은 이렇게 잡을 것이다.

4.api설계

구분 HTTP Method Header
조회 GET  
생성 POST  
수정 PUT Authorization (JWT/bearer토큰)
삭제 DELETE Authorization (JWT/bearer토큰)
종류 기능 url 규칙 파라미터 값
Home, 게시판 /board  
에러 /error  
게시글 /post /{post_id}
검색 /search  
api 게시글 /posts /{post_id}
댓글 /comments /{comment_id}

*뷰 일 경우 단수, api일 경우 복수형으로 규칙 설정

Get 변수 쿼리 파라미터 값
?keyword ={keyword}
?page ={번호}

api설계는 큰 틀만 잡았다. 규칙을 설정 한 후 이 규칙을 따르도록 할 예정이다. 

내가 생각한 게시판은 디시인사이드를 오마주로 하였기에 

5.프로젝트 폴더 구조

폴더 구조는 이렇게 설정 후  추가 시 추가되는 모습을 넣도록 하겠다.

6. 인터페이스 설계

전체적인 화면의 모습

페이지 이동 규칙 추가

 

세세한 인터페이스 ui에 대한 모습은 개발하면서 보여주는걸로 하겠다.

너무 많고...너무 많고..안예쁘기 때문..대충이라도 보여주고싶은데 프론트엔드는 또 처음이라 인터페이스 설계에 자신이 없었다.