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 | |
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에 대한 모습은 개발하면서 보여주는걸로 하겠다.
너무 많고...너무 많고..안예쁘기 때문..대충이라도 보여주고싶은데 프론트엔드는 또 처음이라 인터페이스 설계에 자신이 없었다.