스파르타 코딩클럽_ 내일 배움 캠프 Spring 트랙 6기
[프로젝트] 개발자를 위한 공모전 사이트 (&&)
2023.08.16 ~ 2023.09.15
<프로젝트 정보>
개발도구 : IntelliJ
프로그래밍 언어 : Java
데이터베이스 : MySQL
프레임워크 : Spring / Spring Boot / Spring Security
와이어프레임 : Figma
ERD 설계 : ERD Cloud
Storage : AWS S3
Front : HTML / CSS / JavaScript / JQuery / Bootstrap
<프로젝트 내용>
프로젝트 순항 중 마주친 오늘의 문제&오늘의 미팅
하루에 한번 날짜에 따라 공모전의 상태 변경을 어떻게 할 것인가?
-> 팀원들끼리 고민해 본 방향은 스케줄러를 사용해 밤 12:00 마다 당일 날짜에서 공모날짜를 빼서음수, 0, 양수 조건에 맞춰 쿼리를 날림과 동시에 상태를 변경하는 건 어떨까라는 의견으로 모였다.
튜터님께 팀원들과 모은 의견을 말씀드리면서 질문을 드렸는데 결론적으로 우리가 생각한 기능은가능은 하지만 분명 문제가 생긴다는 것
1. 스케줄링을 사용하게되면 관리 포인트가 늘어나게되고,2. 업데이트 시간이 100% 일치한다고 보장할 수 없다는 단점이 있다
예를 들어 업데이트 시간이 자정일 경우 스케줄링이 완료되는 시간과 맞지 않는다면 그 사이에 유입된 유저는공모전 신청이 가능해진다.DB에 데이터가 쌓이거나 에러가 났다 스케줄링 동기화되는 시간이 길어지기 때문에 비효율적이고만약 스케줄링을 사용하고 싶다면 프론트단에서 입력을 막는 작업을 추가로 구현해줘야한다.
튜터님이 추천해주신 가장 좋은 방법은 시작일/종료일을 Entity에서 받아서 관리하는게 효율적이라고 하셨다.
하위카테고리 처리방안
무한?뎁스로 들어가는 하위 카테고리 처리를 어떻게 할 것인가?
주요 사항: 창민님 의견 정리
상위 카테고리 테이블을 만들고 (Entity)
중간 카테고리 테이블 만들고 (Entity 추가, 상위테이블과 연관관계를 맺어서 중간카테고리 역할)
하위 카테고리 테이블을 만들고 (Entity 추가, 중간-하위 연관관계)
공모전하고 하위카테고리 사이에 중간테이블(2번과 별개)을 만들고 - n대n 해제?를위해
게시글을 생성 시 카테고리를 지정하기 때문에 중간테이블에는 선택한 카테고리마다 데이터가 생성이 됨
⇒ 어떤 조건으로 조회를하든 (하위카테고리)여기 저기서 전부 게시글을 중복으로 조회할 수 있음
아직 어떻게 처리할 지 결정이 되지는 않아서 내일 아침에 다시 팀원들과 이야기 해 볼 예정이다.
'🏕️내일배움캠프 > 📂개발자를 위한 공모전 사이트(23.08.16)' 카테고리의 다른 글
개발자를 위한 공모전 사이트 (&&) 8일 _ 유저 블랙리스트 처리 및 회원가입 방지 (0) | 2023.08.25 |
---|---|
개발자를 위한 공모전 사이트 (&&) 7일 _ 실시간 상태 업데이트/하위 카테고리 구현 방향 결정 및 유저 관리 CRUD (0) | 2023.08.24 |
개발자를 위한 공모전 사이트 (&&) 5일 _ 백오피스 프로젝트 구현 (0) | 2023.08.22 |
개발자를 위한 공모전 사이트 (&&) 4일 _ 백오피스 프로젝트 구현 (0) | 2023.08.21 |
개발자를 위한 공모전 사이트 (&&) 3일 _ 백오피스 사이트 기획 (0) | 2023.08.18 |