프로젝트/게시판 서비스

1-1 프로젝트 기획 (환경,목적)

Soohocoding 2023. 11. 24. 13:06

개발 환경 잡기

 

개발도구 : Intellij IDEA Ultimate

IntelliJ IDEA – the Leading Java and Kotlin IDE (jetbrains.com)

 

소스코드 관리 : Git

Git (git-scm.com)

 

Git 호스팅 : GitHub

GitHub: Let’s build from here · GitHub

 

Git GUI : GitKraken Pro

GitKraken Legendary Git Tools | GitKraken

 

 

 

개발 목적 

 

 

 

게시판 서비스 프로젝트 목표

 

 - 누구나 이해하기 쉬운 소재로 명확한 기능 요구사항을 만든다.

 

- 요구사항을 구현하는데 도움이 되는 각종 문서 작업을 경험한다.

 

 - 자바 + 스프링 부트로 프로젝트 요구사항을 실제로 구현하는 기술적인 방법을 익힌다

 

 - 최신 버전의 기술을 사용해 보면서 기술 동향을 파악하고 새로운 문제와 해결 방법을 확인한다.

 

 - 기획과 문서 작성부터 개발, 형상관리, 테스트, 배포 까지 개발 프로세스 전반을 경험한다.

 

 

 

 

다양한 형태의 문서 작업 - 원활한 협업의 초석

 

  - 문서를 통해 개발한 프로젝트의 목적, 내용, 진행상황을 공유 ( 왜 하는지가 특히 중요)

   -- 무엇을, 어떻게 : 업무의 가이드, 동료의 생산성을 높여줌

   -- 왜 : 함께 움직이는 원동력, 동료가 더 나은 방법을 제안하거나, 내 생각의 오류를 잡아줌

 

 - 내용이 구체적일 수록 동료들의 프로젝트 개발 내용이 잘 동기화되고 진행이 막히지 않음

   -- 주의할 사항은 과도한 정보의 범람 업데이트되지 않았거나 잘못된 정보가 주는 혼란

 

 - 백업이 용이 : 문서는 지나간 일을 다시 꺼내야 할 때 쉽게 찾게 도와줌

 

 - 기억이 짧고 왜곡되지만 문서는 수정 가능하고 발전하며 오래감

 

 - 업무 기록을 남김으로써 업무 진척 사항과 내 성과가 잘 드러남

 

 

 

 

이 게시판 만들기 프로젝트에서 해볼 문서 작업

 

 - diagrams.net(구 draw.io) : 도메인과 ERD 설계, 유즈케이스

 

 - 구글 시트 : API 디자인

 

- 깃 + 깃헙 : 커밋 메시지 작성, 프로젝트 관리 및 협업 환경 꾸미기

 

 

 

 

개발의 목적 - 고객의 문제를 해결 ( + 하는 과정을 공부 )

 

 - 고객의 니즈와 문제를 정리

  -- 고객이 원치 않거나 고객의 문제를 해결해줄 수 없는 개발은 의미가 없다.

  -- 공부가 목표 - 이 부분에서 다소 자유롭게 ( 실패가 용인됨 )

 

 - 문제 -> 요구사항 -> 기능(feature) 도출 -> 구현 방안의 기획 -> 개발 계획 수립 -> 실행

 

제약사항 : 기술 스택이 정해져 있음 ( 제약 == 집중과 효율)

 

 

 

 

이 게시판 만들기 프로젝트에서 해볼 개발 작업

 

 - IDE : IntelliJ IDEA ( Ultimate Edition )

 

 - 언어 : Java 17

 

 - 프레임워크 : spring boot 2.7.0

 

- 빌드 도구 : gradle 7.4.1

 

- git GUI : GitKraken - git 형상 관리와 브랜치 전략 활용

 

- 각종 개발 전략과 도메인 설계, 실무 디자인 패턴, 비즈니스 로직의 구현

 

 

 

 

추가 다운로드 플로그인

 

(기능)

CamelCase (3.0.12)

GitToolBox (212.9.0)

JPA Buddy (2022.2.4.-221)

Key Promoter X (2022.1.2)

presentation Assistant (1.0.9)

Ideolog (203.0.30.0)

spring Boot Assistant (0.14.0)

 

(색상/테마)

ANSI Highlighter (1.2.4) -> 이후 유료 플로그인으로 바뀜

Atom Material icons (64.0.0)

Grep Console (12.12.211.6693.0)

One Dark theme (5.6.0)

 

 

이 게시판 만들기 프로젝트에서 해볼 테스트와 배포

 

 - 테스트

  -- JUnit 5.8.2

  -- 각종 테스트 라이브러리 (Mockito, AssertJ등)

  -- 스프링 부트 슬라이스 테스트 테크닉

  -- 깃헙 : 테스트/빌드 자동화

 

 -배포

   -- 클라우드 서버에 배포 (Heroku)

   -- 깃헙 :  Heroku 배포 자동화

 

 

Reference

draw.io (drawio.com)

Cloud Application Platform | Heroku

JUnit 5

Mockito framework site

Mockito framework site