프로젝트 목적: 11시 11분 인턴쉽 과제
개발기간: 2023.03 ~ 2023.04
광고 등록, 광고 관리 등의 기능을 가지는 간단한 광고 관리 플랫폼 만들기
- Frontend: TypeScript, ReactJS, AntDesign
- Backend: Java, SpringBoot, JPA, SpringSecurity, SpringBatch
- DB: H2
default.mov
- 로그인 버튼 클릭시, 전달받은 아이디와 비밀번호로 UsernamePasswordAuthenticationToken 생성
- UsernamePasswordAuthenticationToken이 유효하면, 권한을 담은 JWT Token을 생성하여 전달
- JWT Token안에 있는 권한정보를 통해 권한 획득(회원의 권한에 따라 보여지는 메뉴와 접근가능한 페이지가 다름)
- 로그인 이후의 모든 API 호출시, Axios Interceptor를 활용하여 모든 요청의 인증 관련 헤더에 전달받은 JWT 토큰을 추가
- 직접 구현한 JWT 관련 Security Filter를 활용하여 해당 요청에 담긴 토큰이 유효한지 검사
default.mov
- 처리할 여러 작업 등록
(날짜,직접 광고 ID,노출수,클릭수,평균 노출 순위,평균 클릭 비용,광고비 형태의 CSV 파일 업로드) - Quartz 스케줄러를 활용하여, 처리할 작업이 존재하면 Batch Job 실행
- 읽은 CSV 파일이 유효하면, 작업 상태 값을 완료로 설정하고, 해당 작업의 결과를 저장
- 읽은 CSV 파일이 유효하지 않으면, 작업 상태 값을 에러로 설정하고, 해당 작업의 결과를 저장하지 않음