Merged
Conversation
이 커밋은 미디어 파일과 관련된 API 요청을 처리하는 MediaController를 도입합니다. 전체 미디어 파일, 이미지 파일 및 비디오 파일을 조회하기 위한 엔드포인트를 제공하며, 컨트롤러는 미디어 데이터를 가져오기 위해 MediaService를 활용합니다.
미디어 파일 정보를 나타내는 DTO를 추가합니다. 이 DTO는 미디어의 상세 정보(ID, 이름, 크기, 유형)를 클라이언트로 전송하는 데 사용됩니다.
지정된 저장 경로에서 미디어 파일을 관리하는 서비스를 추가합니다. 이 서비스는 지정된 디렉토리에서 이미지와 비디오 목록을 가져오며, 해당 디렉토리가 존재하는지 확인하고 미디어 파일 정보를 반환합니다.
2. fileCount 제거
- React 19 + Vite + TypeScript 프로젝트 설정 - 컬렉션 목록/상세 페이지 구현 - CollectionCard, SearchBar 컴포넌트 추가 - ImageCollection, ImageDetails 타입 정의
2. Service쪽에서 metadata 읽어오거나 저장하는게 아닌 Repository에서 읽고 저장하는걸로 변경
There was a problem hiding this comment.
Pull request overview
This pull request implements a comprehensive image/video gallery management system with a full-stack approach using Kotlin Spring Boot for the backend and React with TypeScript for the frontend.
Key Changes:
- Backend API implementation with Repository pattern for managing image/video collections
- React + TypeScript + Vite frontend application for collection browsing, viewing, and uploading
- Utility functions for file handling and slug generation
Reviewed changes
Copilot reviewed 39 out of 44 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
SlugUtils.kt |
Adds utility function to convert titles to URL-safe slugs |
FileUtils.kt |
Provides file extension utilities and directory management helpers |
VideoService.kt |
Implements video collection listing and thumbnail retrieval logic |
ImageService.kt |
Handles image collection CRUD operations with metadata management |
ImageRepository.kt |
Repository layer for metadata reading/writing and file operations |
ImageMetadata.kt |
Data class for collection metadata structure |
VideoCollectionResponse.kt |
DTO for video collection API responses |
ImageUploadResponse.kt |
Response DTO for upload operations |
ImageUploadDto.kt |
Request DTO for image upload with multipart file handling |
ImageDetailsResponse.kt |
Detailed collection information response DTO |
ImageCollectionResponse.kt |
Collection listing response DTO |
VideoController.kt |
REST endpoints for video collection operations |
ImageController.kt |
REST endpoints for image collection CRUD |
WebConfig.kt |
CORS and static resource configuration |
MultipartConfig.kt |
File upload size limits configuration |
| Frontend files | Complete React application with collection management UI |
build.gradle.kts |
Switches from Tomcat to Undertow servlet container |
.gitignore |
Updates ignore patterns for frontend and application configs |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@sungchan12 I've opened a new pull request, #2, to work on those changes. Once the pull request is ready, I'll request review from you. |
|
@sungchan12 I've opened a new pull request, #3, to work on those changes. Once the pull request is ready, I'll request review from you. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
이미지/비디오 컬렉션 관리를 위한 백엔드 API 구현
주요 변경사항
Backend (Kotlin)
ImageController: 이미지/비디오 API 엔드포인트 분리ImageService: 컬렉션 관리 비즈니스 로직ImageRepository: 메타데이터 읽기/저장 Repository 분리ImageCollectionResponse,ImageDetailsResponse,ImageUploadDto등FileUtils,SlugUtils) 분리Frontend (React + TypeScript)
CollectionList,CollectionDetail)UploadCollection)Test plan