본문 바로가기

Projects/청하-청년을 위한 커뮤니티 서비스45

[청하] 찜하기 Optimistic UI 처리 - 중복 INSERT 예외 대응 (feat. rollback-only & @Async 이벤트) 목차 1. 문제 상황기존 코드@Transactionalpublic void registerFavoritePolicy(Long userId, String policyId) { User user = getUserById(userId); // 사용자 조회 Policy policy = getPolicyById(policyId); // 정책 조회 try{ // 찜하기 INSERT favoritePolicyRepository.save(FavoritePolicy.of(user, policy)); // 사용자 상호작용 데이터 INSERT (이미 존재하면 action_time만 업데이트) userInteractionRepository.upsertUserI.. 2025. 4. 4.
[청하] TimeFormatter 클래스 리팩토링 (feat. @UtilityClass) 보호되어 있는 글 입니다. 2025. 4. 4.
[청하] 밸런스 게임/토론 기능 구현 - (1) 설계 보호되어 있는 글 입니다. 2025. 4. 4.
[청하] 47. Swagger UI 개선 - API 문서 가독성 향상 2024.12.12목차 기존에 Spring Boot 프로젝트에서 Swagger UI 사용하여 API 문서를 제공하고 있었다. 서버 이전 이후로 사용하지 않아서 인식하지 못하다가 최근에 Swagger가 제대로 작동하지 않는다는 문제를 발견했다. 그래서 오류도 고치고 Swagger UI의 가독성과 사용성을 높이기 위해 전체적으로 개선했다. 1. 기존 문제점기존 SwaggerConfig@Configurationpublic class SwaggerConfig { @Bean public OpenAPI openAPI() { SecurityScheme securityScheme = new SecurityScheme() .type(SecurityScheme.Type.A.. 2025. 4. 3.
[청하] 46. 청년 정책 검색 기능 - (2) 구현 청년 정책 서비스에서 검색 기능이 빠질 수 없다. 사용자들이 본인에게 필요한 정책을 빠르고 정확하게 찾을 수 있어야 한다.고려 사항키워드 처리 로직사용자가 “청년 취업 지원” 처럼 공백으로 구분된 검색어를 입력했을 때, “쳥년 취업 지원 사업” 같은 전체 문구가 그대로 포함된 정책도 찾아야 하고, “청년을 위한 취업 교육 지원”처럼 각 키워드가 따로 포함된 정책도 검색되어야 한다.검색 대상 필드사용자가 찾으려는 정책을 최대한 포함하도록 검색 범위를 선정했다. 청년 정책 데이터에는 다양한 정보가 포함되어 있는데, 그중에서 제목(title), 정책 소개(introduce), 신청 상세내용(applicationDetails) 필드가 정책의 가장 핵심 필드라고 판단하여 선택했다.검색 결과 정렬검색 기능에 대한 .. 2025. 2. 4.
[청하] 45. 청년 정책 검색 기능 - (1) 설계 1. 검색 방식자연어 & 키워드 검색 지원MySQL의 FULLTEXT 검색 기능의 NATURAL LANGUAGE MODE 사용자연어 검색: MySQL이 검색어에서 불용어(은/는/을/를 등)를 자동으로 제거하고 의미있는 단어를 추출하여 검색예시1) 자연어 검색: "청년을 위한 주택 지원 정책" → MySQL이 자동으로 "청년", "주택", "지원", "정책" 추출하여 검색 2) 키워드 검색: "청년주택" → 입력한 키워드로 바로 검색 2. 검색 범위검색은 아래 세 개의 필드를 대상으로 수행한다.정책 제목 (title)정책 소개 (introduce)신청 상세내용 (applicationDetails) 3. 검색 결과정렬 방식: 최신순 정렬 (ID 기준 내림차순)페이징 처리: 페이지 단위로 조회 4. APIGE.. 2025. 2. 2.
[청하] 39. 홈화면 리뉴얼: 맞춤 정책, 핫한 정책, 커뮤니티 미리보기 설계 1. 홈화면 리뉴얼 계획기존 홈화면은 청년 정책을 조회할 수 있게 하는 단순한 구조였지만, 최근 기획팀의 회의 결과에 따라 홈화면을 리뉴얼하기로 결정했다.리뉴얼된 홈화면에서는 사용자별 맞춤 정책 추천, 지금 핫한 정책 소개, 커뮤니티(게시판)을 조회하도록 하여 사용자 경험을 개선하려고 한다. 기존 홈화면 리뉴얼 홈화면맞춤 정책 설정: 사용자의 관심 분야와 지역을 설정할 수 있는 기능을 추가하여 언제든 설정을 변경할 수 있도록 한다.맞춤 정책 추천: 사용자별 맞춤 정책을 추천하는 기능이 추가된다.지금 핫한 정책: 현재 가장 인기가 많은 정책을 확인할 수 있다.커뮤니티: 기존에 있던 게시판은 좀 더 간단하게 확인할 수 있다.AOS 개발팀에서 요청한 대로, 사용자별 맞춤 정책 추천, 핫한 정책, 커뮤니티 기능.. 2024. 10. 27.
반응형