Numble에서 열리는 딥 다이브 프로젝트 “방문자 수 트래킹”에 참여하게 되었다. 이제 막 첫 스프링 프로젝트를 완성해나가고 있는 상태로 스프링에 대해 정말 기초만 아는 상태이지만, 커리큘럼 과정을 모두 진행하면 프로젝트를 어떻게 관리할 수 있는지 그리고 관리하는 도구를 사용하는 방법을 익힐 수 있을 것 같아서 참여하게 되었다. 가능한 곳까지 완성하면서 배우는 것을 목표로 프로젝트를 시작하였다.
프로젝트 요구 사항은 아래에서 확인 가능하다
https://www.numble.it/deepdive/ce74a8fa-9e71-429e-989c-f1975c51f56c
ERD Cloud를 이용하여 간단하게 url의 그날 및 전체 조회수를 가진 테이블과 이전 조회수 기록을 가진 테이블로 분리하여 작성하였다. 각 Daily 테이블에서 oneToMany로 History 테이블로 연결하였다.

Spring initializr를 이용해 프로젝트를 생성하는 편인데, Spring BOOT의 경우 SNAPSHOT이 아닌 버전 중 가장 최신 버전인 3.1.3를 선택하였고 java는 Spring Boot 3.x버전에서 가장 많이 이용하는 java17을 사용하였다. orm의 경우 일단 프로젝트를 완성하는 것을 목표로 이미 사용해 본 JPA를 선정하였다. 마지막으로 데이터베이스는 mysql을 사용하였다. 최종적으로 다음과 같이 사용하였다.
각 기능에 대해 다음을 고려하여 api 명세를 정했다.