광고
광고
728x90
취업을 하기 위한 개인 포트폴리오를 만들어 보겠습니다.
첫 시작을 하기 위해서 프로젝트 명세서를 작성해 보는 것이므로 지금부터 고민해본 프로젝트 명세서를 작성해 보도록 하겠습니다.
1. 아이템 선정
2. 개요
3. 요구사항 분석
4. DB설계
5. 유즈케이스
6. API 설계
7. 개발 및 테스트
8. 배포
9. 회고
1. 아이템 선정
- 누구나 이해하기 쉬운 소재로 명확한 기능 요구 사항을 만든다.
- 요구사항을 구현하는데 도움이 되는 각종 문서 작업을 경험한다.
- 자바 + 스프링 부트로 프로젝트 요구사항을 싫제로 구현하는 기술적인 방법을 익힌다.
- 기획과 문서 작성부터 개발, 형상관리, 테스트, 배포까지 개발 프로세스 전반을 경험한다.
위를 바탕으로 전반적인 웹의 기본 소양이 되는 CRUD 게시판을 만들고, 앞으로 기능을 하나씩 추가해 나가는 식으로 진행하겠습니다.
2. 개요
- 프로젝트 명칭 : project-board
- 개발 인원 : 1명
- 개발기간 : 2022.07.05 ~
- 주요 기능 :
- 게시판 - CRUD 기능, 페이징 및 검색 처리, 해시태그
- 사용자 - Security 로그인
- 댓글 - CRUD 기능
개발 환경
Intellij IDEA
Gradle 7.4.1
Spring Boot 2.7.1
Java 11
기술 세부 스택
Spring Boot
- Spring Boot Actuator
- Spring Web
- Spring Data JPA
- Rest Repositories
- Rest Repositories HAL Explorer
- Thymeleaf
- Spring Security
- H2 Database
- MySQL Driver
- Lombok
- Spring Boot DevTools
- Spring Configuration Processor
그 외
- QueryDSL 5.0.0
Bootstrap 5.2.0-Beta 1
형상관리
- git GUI : GitKraken-git 형상 관리와 브랜치 전략 활용
테스트
JUnit 5.8.2
테스트 라이브러리(AssertJ, Mockito)
3. 요구사항 분석
1. 게시글 검사
- 게시글 작성, 수정 시 제목과 내용은 공백 혹은 빈칸으로 작성하지 않도록하기
- 내가 작성한 글만 수정, 삭제 가능하게 하기
- 로그인을 하지 않고 글 작성 버튼을 누른 경우 로그인 페이지로 이동
2. 댓글 검사
- 댓글은 로그인한 사용자만 작성 가능하게하기
- 댓글 작성 및 수정시 빈칸 혹은 공백으로 된 경우 "공백 또는 입력 하지 않은 부분이 있습니다" 등 의 메세지 보여주기
- 댓글 수정 및 삭제는 해당 댓글 작성자만 가능하게 하기
- 게시글 삭제 시 해당 댓글 데이터도 같이 삭제되게 하기
4. DB 설계
diagrams.net (구 draw.io): 도메인과 ERD 설계, 유즈 케이스를 작성 할 수 있다.
![[Project] 프로젝트 명세서 - 4. DB 설계 [Project] 프로젝트 명세서 - 4. DB 설계](https://blog.kakaocdn.net/dn/kXYnP/btrHeWaMd1f/6QDKffAR4A90Xl6jZHjoCk/img.png)
5. 유즈케이스
![[Project] 프로젝트 명세서 - 5. 유즈케이스 [Project] 프로젝트 명세서 - 5. 유즈케이스](https://blog.kakaocdn.net/dn/xCeDO/btrGBgarXDu/eBEaJSrLfuJvPLOiCjQ6xk/img.png)
6. API 설계
API endpoints
![[Project] 프로젝트 명세서 - 6. API 설계 [Project] 프로젝트 명세서 - 6. API 설계](https://blog.kakaocdn.net/dn/BeYXH/btrGEnmy8O9/ASJQhhotqb7HhbarDhHTa1/img.png)
API 스펙
![[Project] 프로젝트 명세서 - 6. API 설계 [Project] 프로젝트 명세서 - 6. API 설계](https://blog.kakaocdn.net/dn/oekFH/btrGEK9ojIR/3bZRUvX6Rts1jLkPzVYBq0/img.png)
7. 개발 및 테스트
3. API 설계
4. QueryDSL 적용
5. DTO 설계
8. 게시판 검색 기능
9. 해시태그 검색 기능
10. 댓글 기능
728x90
'Project > project-board' 카테고리의 다른 글
[Project] DTO 설계 (0) | 2022.07.14 |
---|---|
[Project] QueryDSL 적용 (0) | 2022.07.11 |
[Project] API 설계 (0) | 2022.07.11 |
[Project] 도메인 설계 및 DB 접근 로직 (0) | 2022.07.09 |
[Project] 깃허브 이슈 정리 및 브랜치 전략 (0) | 2022.07.07 |
댓글