본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
공부 시작 시각 인증
수강 인증 사진
기획 확인 및 대시 보드 설계
Admin 페이지 및 대시 보드
- Bootstrap 활용하여 작업
- 그래프를 활용하여 일일 유저 가입자 수를 대시 보드에 보여 줄 예정
- 테이블과 검색 조건, 그리고 페이징에 대한 내용을 배울 예정
- 테이블 내 데이터들을 효율적으로 조회할 수 있는 지를 학습할 예정
- Thymeleaf 라이브러리를 활용하여 Admin 페이지와 대시 보드 화면을 구현한다.
- 커버링 인덱스: 쿼리를 충족시키는 데, 필요한 모든 데이터들을 가지고 있는 인덱스
AdminController.java
package org.fastcampus.admin.ui;
import java.util.ArrayList;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
@RestController
@RequestMapping("/admin")
@RequiredArgsConstructor
public class AdminController {
@GetMapping("/index")
public ModelAndView index() {
ModelAndView mav = new ModelAndView();
mav.setViewName("index");
mav.addObject("result", new ArrayList<>());
return mav;
}
}
UserQueueRedisRepositoryImpl.java
package org.fastcampus.post.repository;
import java.util.List;
import org.fastcampus.post.repository.entity.post.PostEntity;
import org.fastcampus.post.repository.post_queue.UserQueueRedisRepository;
import org.springframework.stereotype.Repository;
@Repository
public class UserQueueRedisRepositoryImpl implements UserQueueRedisRepository {
@Override
public void publishPostToFollowingUserList(PostEntity postEntity, List<Long> userIdList) {
}
@Override
public void publishPostListToFollowerUser(List<PostEntity> postEntities, Long userId) {
}
@Override
public void deletePostToUserQueue(Long userId, Long targetUserId) {
}
}
UserPostQueueQueryRepositoryImpl.java
package org.fastcampus.post.repository;
import java.util.List;
import org.fastcampus.post.application.dto.GetPostContentResponseDto;
import org.fastcampus.post.repository.post_queue.UserPostQueueQueryRepository;
import org.springframework.stereotype.Repository;
@Repository
public class UserPostQueueQueryRepositoryImpl implements UserPostQueueQueryRepository {
@Override
public List<GetPostContentResponseDto> getContentResponse(Long userId, Long lastContentId) {
return List.of();
}
}
※ Impl 자바 클래스 내 공란들은 나중에 기능 구현하면서 추가할 예정임.