1. 배경
업무에서 스프링을 쓰고는 있지만 신규 프로젝트 경험이 없어 스프링에 대한 전반적인 이해도가 떨어진다고 느꼈다.
그 동안 눈으로 보기만 하고 어설프게 이해하고 넘어갔던 것들을 이번 기회에 직접 환경 세팅, 구현해보면서 내 것으로 만들고자 한다.
2. 목표
전에 국비 교육에서 플라스크 + 리액트로 진행했던 프로젝트를 재활용하여 플라스크로 구현된 백엔드를 스프링으로 리팩토링한다.
https://github.com/unfunhy/MakeYourPortfolio
이유
1. 프론트를 재사용하여 백엔드에만 집중할 수 있다.
2. 구현 요구사항이 명확하여 기술적인 부분에만 집중할 수 있다.
3. 구현이 간단하여 비교적 빠른 시일 내에 진행할 수 있다.
4. 저 허접한 코드가 맘에 안들었다.
3. 계획
1차 계획
- 기본적인 Spring Rest Api 서버 구현
- 로컬 H2 DB 사용, Spring Data JPA 사용
- application.yml 에 환경변수 저장
2차 계획
- DB 변경: H2 -> MySQL / dev용으로 H2, 배포용으로 MySQL 사용
- Swagger api docs
- AWS에 배포 (k8s)
3차 계획 (고려해보기)
- 환경변수, secret 값에 vault 적용
- sentry로 로그 적재
- Redis cache, EHCache 적용
- devops: CI, CD 환경 구성 (jenkins)
- ELK 적용?
3차는 시간이 너무 오래걸릴 수도 있을 것 같아 일단은 2차까지 진행하는게 목표다. 퇴근하고 부지런히 해서 한 달안에 끝내고 싶다. 과연?
새 레포
https://github.com/unfunhy/spring-portfolio
화이링~
---
22.05.28 수정
- 멀티 모듈 프로젝트로 분리 (common / user-api, contents-api)
- vault 적용 2차 -> 3차로 이동
- Swagger 1차 -> 2차 이동
'프로젝트 > 웹' 카테고리의 다른 글
티스토리 기본 썸네일 지정하기 (0) | 2021.07.30 |
---|---|
JSP로 만든 간단한 게시판 (3) | 2020.10.20 |