상똥이의 Back-End 공부방

[Board Project] 0. 프로젝트 목표 및 필요 기술 본문

비공개 게시판

[Board Project] 0. 프로젝트 목표 및 필요 기술

상똥백 2023. 10. 2. 13:49

[1. 프로젝트 목표]

  • 명확한 기능 요구사항 만들기
  • 문서작업으로 프로젝트 계획 세우기
  • 업무 기록을 남겨 업무 진척 상황 남기고 진행상황을 공유하기
  • 테스트 및 클라우드 서버 배포

 

[2. 프로젝트 계획]

  • 게시판 댓글 및 도메인의 설계
  • 도메인 데이터를 DB에 저장
  • JSON API로 데이터 제공
  • 사용자에게 웹 화면으로 서비스 제공 (디자인 요소 필요)
    • 게시판 페이지
    • 게시글 페이지
    • 로그인 페이지
  • 입출력 데이터 검증
  • 인증 기능

 

[3. 필요 기술]

  • git gui : gitKraken (형상관리 및 브랜치전략)
  • 문서작업 : draw.io
  • IDE : IntelliJ ultimate (유료버전입니다 community  버전에서는 실행되지 않는 기능이 있음)
  • 언어 : java 17
  • set up : spring initializer (필요한 기능들은 그 때에 찾아 삽입할 것)
  • 프레임워크 : spring boot 2.7.0
  • 빌드 도구 : gradle 7.4.1
  • 생산성 : Lombok, Spring Boot DevTools, Spring Boot Actuator
  • 도메인 설계 및  DB 저장 : Spring Data JPA, H2 Database, MySQL Driver
  • 테스트 :  JUnit5, Mokito, AssertJ
  • 데이터 제공 : JSON Api (Rest Repositories, Rest Repositories HAL Explorer)
  • 인증 기능 : Spring Security
  • 웹서비스 : Spring Web
  • 웹 화면 : Thymeleaf, Bootstrap
  • 배포 : Heroku
  • 플러그인 : CamelCase, GitToolBox, JPA Buddy, Key Promotrt X, Presentation Assistant, Ideolog, Spring Boot Assistant

 

[4. git, gut gui 기본 지식]

  • push : 변경사항을 git에 올린 파일에 적용
  • issues : 안건, 업무 등을 작성하는 공간
    • assignes : 해당 업무를 진행할 사람 설정
    • Labels : 해당 업무의 분류(개발, 문서화, 업무 지원 등등) 설정
    • milestone : 개발 일정 
  • pull request : 개발이 완성된 내용을 반영하겠다는 요청
  • project : 테이블, 칸반보드, 로드맵 등으로 프로젝트 진행상황(다음 업무, 진행중인 업무, 완료된 업무 등)을 표현