🌎 개발 환경
- IDE :
Intellij IDEA Ultimate 2022.1
- 언어 :
java 17
- 프레임워크 :
Spring boot 2.7.0
- 빌드 도구 :
gradle 7.4.1
- Git GUI :
GitKraken
🙋♀️ 개발 목적
- 누구나 이해하기 쉬운 소재로 명확한 기능 요구사항 만들기
- 요구사항을 구현하는데 도움이 되는 각종 문서 작업 경험
- java + spring boot로 프로젝트 요구사항을 실제로 구현하는 기술적인 방법 익히기
- 새로운 문제를 직면하고 해결하는 방법 확인
- 기획과 문서 작성부터 개발, 형상관리, 테스트, 배포까지 개발 프로세스 전반을 경험
🚀 테스트와 배포
테스트
1️⃣ 개발 요구사항이 빠짐없이 모두 구현되는가
2️⃣ 구현된 요구사항이 오류없이 동작하는가◾ JUnit 5.8.2
◾ 각종 테스트 라이브러리 (Mockito, AssertJ 등)
◾ 스프링 부트 스라이스 테스트 테크닉
◾ 깃헙 : 테스트/빌드 자동화
배포
◾ 클라우드 서버 배포 (Heroku)
◾ 깃헙 : Heroku 배포 자동화
📌 필요한 기술 정리
게시판 세부 기능
◾ 게시판, 댓글 도메인 설계
◾ 도메인 데이터를 DB에 저장
◾ JSON API 로 데이터 제공
◾ 사용자에게 웹 화면으로 서비스 제공 + 디자인 요소
▫ 게시판 페이지
▫ 게시글 페이지
▫ 로그인 페이지
◾ 적절한 입출력 데이터의 검증
◾ 인증 기능
◾ 생산성에 도움이 되는 도구들 선택
세부 기능으로부터 선택을 예상하는 기술들
◾
Java
+SpringBoot
기반에서 선택
◾ 웹 서비스 제공 :Spring Web
◾ 도메인 설계와 DB 저장 ▶Spring Data JPA
,H2 Database
,MySQL Driver
◾ JSON API로 데이터 제공 ▶Rest Repositories
,Rest Repositories HAL Explorer
(시각화)
◾ 웹 화면 : 서버 사이드 렌더링으로 접근 ▶템플릿 엔진 ▶Thymeleaf
◾ 디자인 요소 ▶ Bootstrap 5.2
◾ 적절한 입출력 데이터의 검증 ▶Validation
◾ 인증 기능 ▶Spring Security
◾ 생산성 ▶Lombok
,Spring Boot DevTools
,Spring Boot Actuator