클론코딩

    [TIL] 7주차 클론 코딩ㅣairbnb 클론 코딩 발표

    클론 코딩 [항해 bnb] 발표 1. 프로젝트 소개 🏖️ 에어비앤비 웹서비스를 클로닝한 프로젝트 hanghaebnb hanghaebnb has 2 repositories available. Follow their code on GitHub. github.com 2. 주요 기능 Spring Security, JWT를 이용한 회원가입/로그인 이메일 인증을 통한 로그인 구현 AWS S3를 이용한 다중 이미지 업로드 JPA Pageable을 이용한 페이지 무한 스크롤 타입별, 가격별 필터링 기능 키워드 검색 기능 숙소 좋아요 기능 swagger 적용 숙박 시설 CRUD(조회 시 이미지 preview) 3. 서비스 아키텍처 4. 기술 스택 🎨 Front-end Stack React , javascript Redu..

    [TIL] 7주차 클론 코딩ㅣReact + Spring boot 연동 에러 모음집

    클론 코딩 [항해bnb] 진행 상황 내일 발표를 앞두고, 드디어 오늘! 프론트엔드와 백엔드의 결과물을 합쳐 보기로 했다. 지난 미니 프로젝트 때 React와 Spring Boot 연동을 하면서 너어어어무 많은 에러를 마주쳤기 때문에 이번에도 단단히 각오하고 덤벼들었다. 오늘의 에러 모음집 왜 갑자기 LocalDateTime이 배열로? Postman으로 조회 테스트 중에 생성날짜, 수정날짜 부분이 배열로 나오는 이슈가 발생했다. 팀원분이 빠르게 해결책을 찾아 적용해 주었다. @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Seoul") @JsonFormat을 ResponseDto 쪽에 ..

    [TIL] 7주차 클론 코딩ㅣ@Query로 필터링 구현하기

    @Query 어노테이션을 이용한 필터링 에어비앤비에는 카테고리 기능과 가격, 숙소 유형 등으로 필터링해 주는 필터 기능이 있다. 이번 클론 프로젝트에서는 숙소 유형으로 카테고리 기능을 대신하고, 가격 필터까지 적용해 볼 것이다. 현재 전체 조회에는 Pageable을 이용한 페이징이 구현되어 있기 때문에 어떤 방식으로 필터링 기능을 덧붙일까 고민하다가 최대한 Spring Data JPA의 Query Method를 활용하되, 조금 복잡한 쿼리에는 @Query 어노테이션을 사용해 보기로 했다. @Query 어노테이션을 이용하면 쿼리를 직접 정의할 수 있다! RoomRepository public interface RoomRepository extends JpaRepository { Page findByType..

    [TIL] 7주차 클론 코딩ㅣAWS EC2 서버 배포

    클론 코딩 [항해bnb] 진행 상황 바로 오늘! 되든 안되든 배포하기로 한 날이다. 생각보다 기능 구현이 빠르게 되어서 확장 스코프를 제외한 최소한의 스코프는 어느 정도 마무리가 되었다. ⭕ 구현 완료된 기능 리스트 1. 회원 로그인 회원가입 도전! 소셜 로그인 2. 방 CUD 방 등록 방 수정 (+S3 수정) 방 삭제 3. 방 R : 내가 맡은 부분 메인 페이지에서 방 전체 조회 type(호텔, 아파트, 주택) 별 필터링 → 진행 중 페이지네이션 4. 다중 이미지 업로드 S3에 이미지 등록(+방 등록) S3에 이미지 삭제(+방 삭제) 5. 좋아요 좋아요 추가 좋아요 삭제 좋아요 여부 반환(true or false) 6. 검색 키워드로 검색 ❓ 구현 예정인 기능 리스트 이메일 인증 타입별, 가격별 필터링..

    [TIL] 6주차 클론 코딩ㅣJPA Pageable을 이용한 페이징

    JPA Pageable을 이용하여 페이징 구현하기 에어비앤비의 무한스크롤을 구현하기 위해 JPA Pageable을 이용해보려 한다. 일단은 프론트에서 page, size를 받아 해당 개수만큼 데이터 끊어서 전달하는 데는 성공! 하지만 Page를 Entity 타입으로 받고 있어서 순환참조 에러가 나는 상황이다. DTO로 변환하는 작업과, 이후 필터링을 위해 pageable 객체 자체가 아닌 page, size, sort를 따로 받는 작업이 필요할 것 같다. 📚 참고자료 Spring Pagination으로 무한스크롤 구현 페이지네이션 하는법 1. 파라미터를 Pageable 객체로 받거나 page와 size받기. Pageable 객체로 받을 때 주의할 점은 @RequestParam 없이 받는다. 2. 참고자료..

    [TIL] 6주차 클론 코딩ㅣ주간 시작

    클론 코딩 주간 시작 1주 동안 뚝딱 만들었던 미니 프로젝트 주간이 끝나고, 클론 코딩 주간이 시작되었다. 실전 프로젝트 전 마지막 프로젝트이기도 하다. 2주 연속 팀장을 맡게 되었다. 이번 주까지 팀장을 주실 줄 몰랐는데😂 감사히 생각하고 열심히 해야지..! 진행 자체는 지난주와 크게 다르지 않겠지만, 분명 지난주보다 더 그럴듯한 결과물을 내야 할 것이다. 세부 일정은 다음과 같다. 12/23 (금) 19:00 까지 : 클론 코딩 주차 S.A. 제출 12/24 (토) 오후 : S.A. 서면 피드백 확인 12/26 (월) 저녁 : 클론 코딩 주차 중간 멘토링 12/29 (목) 19:00 까지 : 클론 코딩 완성본 제출 12/29 (목) 저녁 : 클론 코딩 주차 회고 발표 클론 코딩 기획 회의 이번 조는 ..