본문 바로가기

프로젝트/운동일지4

코드리뷰 - View 부분(HTML,CSS,JavaScript) Controller은 두개로 HomeController, LoginController LoginController@Controller@RequiredArgsConstructorpublic class LoginController { private final AuthenticationManager authenticationManager; private final UserService userService; @GetMapping("/login") public String showLoginPage() { return "login"; } @PostMapping("/login") public String login(@ModelAttribute("username") .. 2024. 6. 11.
오류발생 - 총볼륨 구하는 로직 가장 최근에 구현한 총볼륨을 구해서 표시해주는 로직에 문제가 생겼다.여기서 세트추가하면 home에서 총볼륨을 구해 표시해준다. 세트가 한개일땐 잘 구해진다.세트가 두개가되면총 볼륨이 2배가 된다.로직이 잘못된거같다. 현재 로직부터 살펴보자. 1. HomeController@GetMapping("/home") public String home(@RequestParam(value = "year", required = false) Integer year, @RequestParam(value = "month", required = false) Integer month, Model model) { LocalDate n.. 2024. 6. 10.
코드리뷰 - 운동관련부분 이 프로젝트의 구조는 이렇게 도메인중심으로 짰다.1. authority는 User의 권한설정 Spring Security 때문에 만들었다.2. exercise는 운동데이터(세트를 포함), 세트(횟수와 무게를 포함), 운동타입(운동종목)이 존재한다.3. User에는 User엔터티와, UserPrincipal이 있다.4. view에는 HomeController, LoginController가 존재한다. 5. wsession에는 한날짜를 아이디로가지는 운동세션관련 코드가 존재한다. 운동관련 엔터티부터 큰순서대로 보자.wsession 엔터티@Entity@Getter@Setter@Table(name = "WSESSION")public class Wsession { @Id @Column(columnDef.. 2024. 6. 10.
프로젝트 개요 DB구조이번 프로젝트를 하면서 가장 힘들었던 부분이 데이터베이스 구조짜는게 아닐까 싶다.운동일지 프로젝트는 사용자로부터 운동종목을 받고, 그 운동종목은 한 날짜에 저장이되고, 각 운동종목 안에는 세트가 존재한다. 엔티티별 설명을 한번 해보자면먼저 USER 사용자는 최대한 간단히 했다. 왜냐면 사용자에 시간을 더이상 쏟고싶지않았다. 그래서 정말 간단한 로직만 갖고있고 컬럼으로는 로그인에 필요한 USERNAME, PASSWORD 그리고 뭐 시간적 여유가 되면 EMAIL인증도 넣을까 했는데 일단은 안넣었다.그다음 Authority. Spring Secuirty가 사용자 권한을 처리하는데 필요해서 넣었다. 다음으로 Wsession. 운동세션으로 PK가 DATE 형식이다. 날짜한개에 한개의 운동세션을 가질 수 있.. 2024. 6. 4.