Home [SpringBoot] 게시판 서비스 - 프로젝트 기획
Post
Cancel

[SpringBoot] 게시판 서비스 - 프로젝트 기획

Spring 기본 프로젝트하면, 게시판 서비스인 거 같습니다.
10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 강의를 수강하며,
프로젝트 진행사항을 기록하고자합니다.

개발환경

  • 개발도구: Intellij IDEA Ultimate
  • 개발언어: Java
  • 프레임워크: Spring boot
  • 소스코드관리: Git
  • Git GUI: Gitkraken Pro

프로젝트 목표

  1. 원활한 협업의 초석인 문서 작업을 경험한다.
  2. 이해하기 쉬운 기능 요구사항을 만든다.
  3. Spring Boot를 통해 요구사항을 실제로 구현한다.
  4. 기획 - 문서작성 - 개발 - 형상관리 - 테스트 - 배포까지 개발 프로세스를 경험한다.

필요한 세부 기능 및 기술

  • 웹 서비스 제공 - Spring web
  • 도메인 설계와 데이터 DB 저장 - Spring Data JPA, H2Database, MySQL Driver
  • Json API로 데이터 제공 - Rest Repositories, Rest Repositories HAL Explorer
  • 웹 화면 - SSR (Thymeleaf)
  • 디자인 - Bootstrap
  • 입출력 데이터 검증 - Validation
  • 인증기능 - Spring Security
  • 생산성 - Lombok, Spring Boot DevTools, Spring Boot Actuator

진행할 문서작업

  • diagrams.net(draw.io) : 도메인과 ERD 설계, 유즈케이스
    • 유즈케이스? 시스템에 대한 전체적인 사용자의 이용패턴
    • draw.io는 깃허브와 연동이 가능함. 다만, UseCase 탬플릿은 따로 존재하진않음.
  • Google Sheet : API 설계
  • Git,Github : Commit 메세지, 협업환경 구성하기

진행할 테스트와 배포

  • 테스트
    • Junit의 테스트 라이브러리 사용 (Mockito,AssertJ)
    • 스프링 부트 슬라이스 테스트 테크닉
    • 깃헙: 테스트/빌드 자동화
  • 배포
    • 깃헙 릴리즈 작성
    • 클라우드 서버에 배포 (헤로쿠)

협업환경 구성

  1. Github Project : 칸반,스프린트(1주) 환경 구성 Github Kanban Github Sprint

  2. 깃브랜치 운영 방법론 선택

    • 깃브랜치 전략 세우는 이유?
      하나의 프로젝트를 여러 개발자들이 다루면서 발생하는 각종 부작용을 해결할 수 있다.
    • gitflow : master,develop,feature,release,notfix 브랜치를 설정하고 운영
    • githubflow: main,feature 브랜치만으로 운영 ✅
      • issue에서 feature 브랜치의 commit을 한눈에 볼수있다.
        ex) feature/#8-domain Githubflow
This post is licensed under CC BY 4.0 by the author.