Day 1
오늘은 중고 물건 경매 프로젝트를 시작했다. Spring 프레임워크를 공부하면서 실제로 적용해 볼 수 있는 주제를 찾았다. 그 중에서도 중고 물건 경매라는 독특하면서도 흥미로운 주제를 선택했다.
처음에는 프로젝트의 목적과 기능에 대한 계획을 세우는 데 시간을 많이 소비했다. 사용자들이 중고 물건을 등록하고 입찰하는 기능, 경매 진행 상황을 실시간으로 업데이트하는 기능 등을 고려하여 프로젝트의 범위를 정했다.
프론트 개발자 한분과 디자이너 한분 이렇게 3명이서 프로젝트에 참여를 하게 되었다.
Spring 프레임워크 에서 기본적으로 MVC 패턴의 아키텍처를 제공하고 있고, 대부분의 프로젝트에서 이 패턴이 사용되고 있기에 MVC 패턴을 설정하게 되었다.
rebider
|-- src
| |-- main
| |-- java
| |-- com
| |-- rebider
| |-- controller
| |-- Controller.java
| |-- dto
| |-- DTO.java
| |-- model
| |-- Model.java
| |-- repository
| |-- Repository.java
| |-- service
| |-- Service.java
| |-- resources
| |-- templates
|-- test
| |-- java
| |-- com
| |-- rebider
| |-- controller
| |-- ControllerTest.java
| |-- service
| |-- ServiceTest.java
폴더 구조는 이런 형태로 진행되고, 각각의 패키지에서 역할을 구별해서 작업을 하게 될것 같다.
데이터와 비즈니스 로직을 담당한다. 주로 JPA 엔터티(Entity)나 일반적인 POJO(Plain Old Java Object) 클래스로 표현된다.
사용자의 요청을 처리하고, 적절한 Model과 View를 선택하여 응답을 생성한다.
클라이언트와 상호작용하며 비즈니스 로직을 제어하는 역할을 합한다.
데이터베이스와의 상호작용을 담당한다. Spring Data JPA를 사용하여 데이터 액세스를 간소화하고 쿼리를 작성하는 데 도움이 된다.
컨트롤러와 리포지토리 사이에서 중요한 비즈니스 로직을 처리한다.
서비스 계층은 트랜잭션 관리, 보안, 예외 처리 등을 담당한다.
컨트롤러와 서비스 간의 데이터 전송을 위한 객체이다. 주로 클라이언트와 서버 간에 데이터 교환에 사용되며, 필요한 정보만을 담고 있다.