프로젝트 소개
프로젝트 주제
: 구직자를 대상으로 스타트업에 대한 정보를 보여주는 웹 어플리케이션
🤔 주제 선정 이유
사실 처음에는 커머스 관련해서 프로젝트를 해보고싶었다. 하지만 그렇게되면 내가 임의로 가짜 상품을 등록하고 가짜 고객 역할을 해야해서 구현을 완료해도 내가 더이상 프로젝트를 발전을 안시키고 구현단계에서 끝낼것같다는 생각을 했다.
이번 프로젝트에서는 스프링 구현 연습을 하고싶은게 아니라 실제로 24시간 구동하면서 장애가 나면 해결 해보고 싶었다. 나에게 필요한 웹을 만드는게 프로젝트를 꾸준히 유지보수 할 수 있다고 생각해 이 주제를 선택했다.
💪🏼 이번 프로젝트에서 해보고 싶은 것
1. 프로젝트 문서화 하기
- 이전까지 해왔던 프로젝트들은 너무 구현에만 집중
- 프로젝트의 정리를 안해놓으니 내가 만들었어도 내것이 아닌 느낌
- 이번 프로젝트에서는 평소보다 기획과 문서화에 집중해서 내것으로 만들고싶다.
2. 협업을 위해 GitHub의 Issues와 Pull Request 적극적으로 사용하기
- 프로젝트를 하면서 만난 오류가 무엇인지, 오류를 어떻게 해결했는지 Issues에 남기고 싶다.
- 협업하는 프로젝트이므로 팀원 서로 Pull Request를 통해 merge하고 코드리뷰를 할 예정이다.
- 커밋 메시지 컨벤션 잘 지켜서 이해하기 쉽도록
3. 부하테스트를 통해 성능 개선하기
- 이번에 가장 해보고싶었던거
- 기업 채용공고 보면 항상 대용량 트래픽 처리 경험을 우대한다
- 당장 그런 서비스를 만들순없기때문에 부하테스트를 통해서라도 경험해보고싶다.
4. 24시간 운영되는 웹 서비스
- 더 이상 localhost에서 서비스를 돌리고 싶지않았다.
- AWS를 이용해서 실시간 서비스를 운영해보고싶다
5. 운영하면서 만나는 에러 처리
- 24시간 서비스를 하다보면 분명 내가 만나보지 못했던 오류가 나올거같다
- 오류를 해결해보고 해결방법 기록하기
기술 스택과 사용 도구
기술 스택
Java, Spring Boot, JPA, AWS, MySQL
✏️ 사용 도구
- 버전관리, 이슈관리 : GitHub
- ERD 도구 : ERD Cloud
- UI 도구 : OvenApp
- API 문서화 : GitBook, Google Sheets
- 배포 자동화 : Travis CI
- 부하 테스트 : nGrinder
- 유닛 테스트 : JUnit5