From adcbb450ea0b0ff47015440ad3ec3235aad39e7a Mon Sep 17 00:00:00 2001 From: yujeong Date: Mon, 14 Oct 2024 08:45:06 +0900 Subject: [PATCH 01/22] =?UTF-8?q?refactor:=20=EB=AA=A8=EB=8D=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- materials/models.py | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/materials/models.py b/materials/models.py index 01888fe..d8ae7a9 100644 --- a/materials/models.py +++ b/materials/models.py @@ -2,18 +2,16 @@ from accounts.models import CustomUser from courses.models import Course, Topic +from django.conf import settings from django.db import models def upload_to(instance, filename): """ - ImageField를 통해 파일이 업로드될 때 해당 파일의 저장 경로를 동적으로 생성합니다. - - 모델 인스턴스가 save() 호출될 때, 파일이 저장되기 전 upload_to에 정의된 경로를 생성하기 위해 호출됩니다. - - ImageField의 upload_to 인자로 전달됩니다. - - 생성된 경로를 반환하며, 이 경로는 Django가 해당 파일을 저장할 때 사용됩니다. - - (장점) 사용자 접근성을 높이면서 중복 파일 이름 문제를 해결합니다. + 이미지 파일을 S3에 업로드할 때 사용할 경로를 동적으로 생성합니다. + UUID를 사용하여 중복 파일명을 피합니다. """ - ext = filename.split(".")[-1] + ext = filename.split(".")[-1] # 파일 확장자 추출 return f"images/{uuid.uuid4()}.{ext}" @@ -36,9 +34,7 @@ class Image(models.Model): null=True, blank=True, ) - image_url = models.URLField( - upload_to="images/", blank=True, null=True, verbose_name="이미지 파일" - ) + image_url = models.ImageField(upload_to=upload_to, blank=True, null=True, verbose_name="이미지 파일") created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) @@ -52,9 +48,9 @@ def __str__(self): def save(self, *args, **kwargs): if self.user and not self.image_url: - self.image_url = "images/default_user_image.jpg" + self.image_url = f"{settings.MEDIA_URL}images/default_user_image.jpg" if self.course and not self.image_url: - self.image_url = "images/default_course_image.jpg" + self.image_url = f"{settings.MEDIA_URL}images/default_user_image.jpg" super().save(*args, **kwargs) @@ -63,12 +59,22 @@ class Video(models.Model): course = models.OneToOneField( Course, on_delete=models.CASCADE, related_name="video" ) - video_url = models.FileField(upload_to="videos/", verbose_name="비디오 파일") + video_url = models.URLField(blank=True, null=True, verbose_name="비디오 파일") created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) def __str__(self): - return f"{self.topic.title} - {self.title}" + if self.topic: + return f"{self.topic}'s Video" + elif self.course: + return f"Course Video for {self.course}" + return "Video" + + def save(self, *args, **kwargs): + if not self.video_url: + self.video_url = f"{settings.MEDIA_URL}videos/default_video.mp4" + + super().save(*args, **kwargs) class VideoEventData(models.Model): From e0084f8200facbc5a9a02308cebb18d5eddd6ea4 Mon Sep 17 00:00:00 2001 From: yujeong Date: Mon, 14 Oct 2024 08:45:27 +0900 Subject: [PATCH 02/22] =?UTF-8?q?refactor:=20=EC=8B=9C=EB=A6=AC=EC=96=BC?= =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EC=A0=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- materials/serializers.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/materials/serializers.py b/materials/serializers.py index 23325e6..43bd27a 100644 --- a/materials/serializers.py +++ b/materials/serializers.py @@ -8,7 +8,7 @@ class ImageSerializer(serializers.ModelSerializer): """ 이미지 생성(업로드)을 위한 시리얼라이저입니다. - - 형식, 손상 여부에 대해 유효성 검사를 합니다. + - 형식, 손상 여부에 대해 유효성 검사를 합니다. """ class Meta: @@ -39,16 +39,11 @@ def validate_image_url(self, value): class VideoSerializer(serializers.ModelSerializer): - topic_title = serializers.CharField(source="topic.title", read_only=True) - course_title = serializers.CharField(source="topic.course.title", read_only=True) class Meta: model = Video fields = [ "id", - "topic", - "topic_title", - "course_title", "video_url", "created_at", "updated_at", From 9bd69a18b05cd2bd242041d14e3ec1c2069d9dbc Mon Sep 17 00:00:00 2001 From: yujeong Date: Mon, 14 Oct 2024 08:45:44 +0900 Subject: [PATCH 03/22] =?UTF-8?q?refactor:=20=EB=B7=B0=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- materials/views.py | 356 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 277 insertions(+), 79 deletions(-) diff --git a/materials/views.py b/materials/views.py index 9d95627..a5464d6 100644 --- a/materials/views.py +++ b/materials/views.py @@ -2,6 +2,7 @@ import boto3 import ffmpeg +from accounts.permissions import IsSuperUser, IsTutor from botocore.exceptions import ClientError from django.conf import settings from django.shortcuts import get_object_or_404 @@ -14,8 +15,12 @@ from rest_framework.views import APIView from .models import Image, Video, VideoEventData -from .serializers import (ImageSerializer, UserViewEventListSerializer, - VideoEventSerializer, VideoSerializer) +from .serializers import ( + ImageSerializer, + UserViewEventListSerializer, + VideoEventSerializer, + VideoSerializer, +) # 리팩토링할 때 중복 함수 이곳에 작성 @@ -26,27 +31,57 @@ def optimize_image(self, image_file): - 리사이징 - 필터링 """ - # Pillow를 사용하여 이미지 열기 - img = PILImage.open(image_file) - # 포맷 변환 + img = PILImage.open(image_file) img = img.convert("RGB") - - # 리사이징 img.thumbnail((800, 600)) - - # 이미지 필터링: 샤프닝 필터 적용 img = img.filter(ImageFilter.SHARPEN) return img +def optimize_video(self, video_file): + """ + 비디오 파일을 최적화합니다. + - 포맷 변환 + - 리사이징 작업 + """ + # 최적화된 비디오를 임시 메모리에 저장 + output_io = io.BytesIO() + + ffmpeg.input(video_file).output( + output_io, format="mp4", video_bitrate="1000k", s="640x360", preset="fast" + ).run(overwrite_output=True) + + # 임시 메모리의 포인터를 처음으로 이동 + output_io.seek(0) + return output_io + + +def upload_to_s3(image_io, file_name): + """ + S3에 파일을 업로드하는 함수입니다. + """ + s3_client = boto3.client( + "s3", + aws_access_key_id=settings.AWS_ACCESS_KEY_ID, + aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, + region_name=settings.AWS_S3_REGION_NAME, + ) + s3_client.upload_fileobj( + image_io, + settings.AWS_STORAGE_BUCKET_NAME, + file_name, + ExtraArgs={"ContentType": "image/jpeg"}, + ) + + class ImageCreateView(generics.CreateAPIView): # POST 요청: Image 객체를 사용해서 S3에 이미지 파일을 업로드합니다. queryset = Image.objects.all() serializer_class = ImageSerializer - permission_classes = [] + permission_classes = [permissions.IsAuthenticated] parser_classes = (MultiPartParser, FormParser) def create(self, request, *args, **kwargs): @@ -69,41 +104,25 @@ def create(self, request, *args, **kwargs): optimized_image.save(image_io, format="JPEG", quality=85) image_io.seek(0) - # S3에 파일 업로드 - s3_client = boto3.client( - "s3", - aws_access_key_id=settings.AWS_ACCESS_KEY_ID, - aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, - region_name=settings.AWS_S3_REGION_NAME, - ) - user = get_object_or_404(CustomUser, id=request.data.get("user_id")) - course = get_object_or_404(Course, id=request.data.get("course_id")) # 파일 이름 생성: 사용자 ID와 코스 ID를 포함 if user: - file_name = f"images/user_{user.id}/{image_file.name}" - elif course: - file_name = f"images/course_{course.id}/{image_file.name}" + timestamp = int(time.time()) + file_name = f"images/user_{user.id}/{timestamp}_{image_file.name}" else: return Response( - {"error": "유효한 사용자 또는 코스가 필요합니다."}, + {"error": "유효한 사용자가 필요합니다."}, status=status.HTTP_400_BAD_REQUEST, ) - s3_client.upload_fileobj( - image_io, - settings.AWS_STORAGE_BUCKET_NAME, - file_name, - ExtraArgs={"ContentType": "image/jpeg"}, - ) + # S3에 파일 업로드 + upload_to_s3(image_io, file_name) # 업로드된 파일의 URL 생성 file_url = f"https://{settings.AWS_S3_CUSTOM_DOMAIN}/{file_name}" - # 시리얼라이저에 전달 후 저장 - serializer.validated_data["image_url"] = file_url - image = serializer.save(file=file_url) + image = serializer.save(image_url=file_url) return Response( self.get_serializer(image).data, status=status.HTTP_201_CREATED @@ -119,7 +138,7 @@ class ImageListCreateView(generics.ListCreateAPIView): queryset = Image.objects.all() serializer_class = ImageSerializer - permission_classes = [] + permission_classes = [permissions.IsAuthenticated] def perform_create(self, serializer): serializer.save(course_id=self.request.data.get("course_id")) @@ -132,69 +151,158 @@ class ImageRetrieveUpdateDestroyView(generics.RetrieveUpdateDestroyAPIView): queryset = Image.objects.all() serializer_class = ImageSerializer - permission_classes = [] + permission_classes = [permissions.IsAuthenticated] def check_object_permissions(self, request, obj): if not request.user.is_staff and obj.course.tutor != request.user: raise PermissionDenied("접근 권한이 없습니다.") return super().check_object_permissions(request, obj) + def get(self, request, *args, **kwargs): + image = self.get_object() # 특정 이미지 객체 가져오기 + + # S3에서 이미지 다운로드 + s3_client = boto3.client( + "s3", + aws_access_key_id=settings.AWS_ACCESS_KEY_ID, + aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, + region_name=settings.AWS_S3_REGION_NAME, + ) + + try: + # S3에서 객체 가져오기 + s3_response = s3_client.get_object( + Bucket=settings.AWS_STORAGE_BUCKET_NAME, + Key=image.image_url.split("/")[-1], + ) + + # 파일을 바이너리 형식으로 반환 + response = HttpResponse( + s3_response["Body"].read(), + content_type="image/jpeg", + ) + response["Content-Disposition"] = ( + f'attachment; filename="{image.image_url.split("/")[-1]}"' + ) + return response + + except ClientError as e: + return Response( + {"error": str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR + ) + + def put(self, request, *args, **kwargs): + image = self.get_object() # 특정 이미지 객체 가져오기 + serializer = self.get_serializer(image, data=request.data, partial=True) + serializer.is_valid(raise_exception=True) + + # 이미지 파일을 최적화하고 S3에 업로드 + image_file = request.FILES.get("image_url") + if image_file: + optimized_image = self.optimize_image(image_file) + + # 최적화된 이미지를 임시로 메모리에 저장 + image_io = io.BytesIO() + optimized_image.save(image_io, format="JPEG", quality=85) + image_io.seek(0) + + # 기존 이미지 삭제 (S3에서) + s3_client = boto3.client( + "s3", + aws_access_key_id=settings.AWS_ACCESS_KEY_ID, + aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, + region_name=settings.AWS_S3_REGION_NAME, + ) + s3_client.delete_object( + Bucket=settings.AWS_STORAGE_BUCKET_NAME, + Key=image.image_url.split("/")[-1], + ) + + # 새로운 파일 이름 생성 + timestamp = int(time.time()) + file_name = f"images/user_{image.user.id}/{timestamp}_{image_file.name}" + + # S3에 새로운 이미지 업로드 + upload_to_s3(image_io, file_name, content_type="image/jpeg") + + # 업로드된 파일의 URL 생성 + file_url = f"https://{settings.AWS_S3_CUSTOM_DOMAIN}/{file_name}" + + image = serializer.save(image_url=file_url) + + return Response(self.get_serializer(image).data, status=status.HTTP_200_OK) + + def delete(self, request, *args, **kwargs): + image = self.get_object() # 특정 이미지 객체 가져오기 + + # S3에서 이미지 삭제 + s3_client = boto3.client( + "s3", + aws_access_key_id=settings.AWS_ACCESS_KEY_ID, + aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, + region_name=settings.AWS_S3_REGION_NAME, + ) + + try: + s3_client.delete_object( + Bucket=settings.AWS_STORAGE_BUCKET_NAME, + Key=image.image_url.split("/")[-1], + ) + # 데이터베이스에서 이미지 객체 삭제 + image.delete() + return Response(status=status.HTTP_204_NO_CONTENT) + except ClientError as e: + return Response( + {"error": str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR + ) + class VideoCreateView(generics.CreateAPIView): # POST 요청: 영상 파일을 업로드합니다. queryset = Video.objects.all() serializer_class = VideoSerializer - permission_classes = [] + permission_classes = [IsTutor | IsSuperUser] parser_classes = (MultiPartParser, FormParser) def create(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) - if serializer.is_valid(): - file = request.FILES.get("file") - if not file: - return Response( - {"error": "No file provided"}, status=status.HTTP_400_BAD_REQUEST - ) + serializer.is_valid(raise_exception=True) - max_image_size = 5 * 1024 * 1024 # 5MB + video_file = request.FILES.get("video_url") + if not video_file: + return Response( + {"error": "비디오 파일이 필요합니다."}, + status=status.HTTP_400_BAD_REQUEST, + ) - if value.size > max_image_size: - raise serializers.ValidationError( - "파일 크기는 5MB를 초과할 수 없습니다." - ) + optimized_video = self.optimize_video(video_file) - # S3 클라이언트 설정 - s3_client = boto3.client( - "s3", - aws_access_key_id=settings.AWS_ACCESS_KEY_ID, - aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, - region_name=settings.AWS_S3_REGION_NAME, - ) + try: + user = get_object_or_404(CustomUser, id=request.data.get("user_id")) - try: - # S3에 파일 업로드 - file_name = f"videos/{file.name}" - s3_client.upload_fileobj( - file, - settings.AWS_STORAGE_BUCKET_NAME, - file_name, - ExtraArgs={"ContentType": file.content_type}, - ) + # 파일 이름 생성 + if user: + timestamp = int(time.time()) + file_name = f"video/user_{user.id}/{timestamp}_{video_file.name}" + + # S3에 파일 업로드 + upload_to_s3(optimized_video, file_name) - # 업로드된 파일의 URL 생성 - file_url = f"https://{settings.AWS_S3_CUSTOM_DOMAIN}/{file_name}" + # 업로드된 파일의 URL 생성 + file_url = f"https://{settings.AWS_S3_CUSTOM_DOMAIN}/{file_name}" - # 비디오 객체 생성 및 저장 - video = serializer.save(file=file_url) + # 비디오 객체 생성 및 저장 + serializer.validated_data["video_url"] = file_url + video = serializer.save(video_url=file_url) - return Response( - self.get_serializer(video).data, status=status.HTTP_201_CREATED - ) - except ClientError as e: - return Response( - {"error": str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR - ) + return Response( + self.get_serializer(video).data, status=status.HTTP_201_CREATED + ) + except ClientError as e: + return Response( + {"error": str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR + ) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) @@ -203,7 +311,7 @@ class VideoListCreateView(generics.ListCreateAPIView): queryset = Video.objects.all() serializer_class = VideoSerializer - permission_classes = [] + permission_classes = [IsTutor | IsSuperUser] def perform_create(self, serializer): serializer.save(topic_id=self.request.data.get("topic_id")) @@ -216,7 +324,7 @@ class VideoRetrieveUpdateDestroyView(generics.RetrieveUpdateDestroyAPIView): queryset = Video.objects.all() serializer_class = VideoSerializer - permission_classes = [] + permission_classes = [IsSuperUser] def check_object_permissions(self, request, obj): if request.method in ["PUT", "PATCH", "DELETE"]: @@ -224,10 +332,100 @@ def check_object_permissions(self, request, obj): raise PermissionDenied("접근 권한이 없습니다.") return super().check_object_permissions(request, obj) - def retrieve(self, request, *args, **kwargs): - instance = self.get_object() - serializer = self.get_serializer(instance) - return Response(serializer.data) + def get(self, request, *args, **kwargs): + video = self.get_object() # 특정 비디오 객체 가져오기 + + # S3에서 비디오 다운로드 + s3_client = boto3.client( + "s3", + aws_access_key_id=settings.AWS_ACCESS_KEY_ID, + aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, + region_name=settings.AWS_S3_REGION_NAME, + ) + + try: + # S3에서 비디오 객체 가져오기 + s3_response = s3_client.get_object( + Bucket=settings.AWS_STORAGE_BUCKET_NAME, + Key=video.video_url.split("/")[-1], + ) + + # 파일을 바이너리 형식으로 반환 + response = HttpResponse( + s3_response["Body"].read(), + content_type="video/mp4", # 비디오 형식에 따라 변경 가능 + ) + response["Content-Disposition"] = ( + f'attachment; filename="{video.video_url.split("/")[-1]}"' + ) + return response + + except ClientError as e: + return Response( + {"error": str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR + ) + + def put(self, request, *args, **kwargs): + video = self.get_object() # 특정 비디오 객체 가져오기 + serializer = self.get_serializer(video, data=request.data, partial=True) + serializer.is_valid(raise_exception=True) + + # 비디오 파일을 최적화하고 S3에 업로드 + video_file = request.FILES.get("video_url") + if video_file: + optimized_video = self.optimize_video(video_file) + + # S3에서 기존 비디오 삭제 + s3_client = boto3.client( + "s3", + aws_access_key_id=settings.AWS_ACCESS_KEY_ID, + aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, + region_name=settings.AWS_S3_REGION_NAME, + ) + s3_client.delete_object( + Bucket=settings.AWS_STORAGE_BUCKET_NAME, + Key=video.video_url.split("/")[-1], + ) + + # 새로운 파일 이름 생성 + timestamp = int(time.time()) + file_name = f"video/user_{video.user.id}/{timestamp}_{video_file.name}" + + # S3에 새로운 비디오 업로드 + upload_to_s3(optimized_video, file_name) + + # 업로드된 파일의 URL 생성 + file_url = f"https://{settings.AWS_S3_CUSTOM_DOMAIN}/{file_name}" + + # 시리얼라이저에 전달 후 저장 + serializer.validated_data["video_url"] = file_url + video = serializer.save() + + return Response(self.get_serializer(video).data, status=status.HTTP_200_OK) + + def delete(self, request, *args, **kwargs): + video = self.get_object() # 특정 비디오 객체 가져오기 + + # S3에서 비디오 삭제 + s3_client = boto3.client( + "s3", + aws_access_key_id=settings.AWS_ACCESS_KEY_ID, + aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, + region_name=settings.AWS_S3_REGION_NAME, + ) + + try: + s3_client.delete_object( + Bucket=settings.AWS_STORAGE_BUCKET_NAME, + Key=video.video_url.split("/")[-1], + ) + # 데이터베이스에서 비디오 객체 삭제 + video.delete() + return Response(status=status.HTTP_204_NO_CONTENT) + except ClientError as e: + return Response( + {"error": str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR + ) class VideoEventCreateView(generics.CreateAPIView): From 3f6db4a32c96e20cad95093099789f3f223cb283 Mon Sep 17 00:00:00 2001 From: yujeong Date: Mon, 14 Oct 2024 08:57:37 +0900 Subject: [PATCH 04/22] =?UTF-8?q?refactor:=20=EB=B7=B0=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- materials/views.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/materials/views.py b/materials/views.py index a2e4258..9219cca 100644 --- a/materials/views.py +++ b/materials/views.py @@ -4,9 +4,7 @@ import ffmpeg from accounts.permissions import IsSuperUser, IsTutor from botocore.exceptions import ClientError -from courses.models import Course from django.conf import settings -from django.contrib.auth import get_user_model from django.shortcuts import get_object_or_404 from PIL import Image as PILImage from PIL import ImageFilter @@ -16,12 +14,8 @@ from rest_framework.response import Response from .models import Image, Video, VideoEventData -from .serializers import ( - ImageSerializer, - UserViewEventListSerializer, - VideoEventSerializer, - VideoSerializer, -) +from .serializers import (ImageSerializer, UserViewEventListSerializer, + VideoEventSerializer, VideoSerializer) # 리팩토링할 때 중복 함수 이곳에 작성 From 87c5c1767bd1bdcd4513bdb0e34ff51bbe4b9de7 Mon Sep 17 00:00:00 2001 From: yujeong Date: Mon, 14 Oct 2024 08:58:56 +0900 Subject: [PATCH 05/22] =?UTF-8?q?refactor:=20=EB=B7=B0=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- materials/views.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/materials/views.py b/materials/views.py index 9219cca..556d545 100644 --- a/materials/views.py +++ b/materials/views.py @@ -14,8 +14,12 @@ from rest_framework.response import Response from .models import Image, Video, VideoEventData -from .serializers import (ImageSerializer, UserViewEventListSerializer, - VideoEventSerializer, VideoSerializer) +from .serializers import ( + ImageSerializer, + UserViewEventListSerializer, + VideoEventSerializer, + VideoSerializer, +) # 리팩토링할 때 중복 함수 이곳에 작성 @@ -135,9 +139,6 @@ class ImageListCreateView(generics.ListCreateAPIView): serializer_class = ImageSerializer permission_classes = [permissions.IsAuthenticated] - def perform_create(self, serializer): - serializer.save(course_id=self.request.data.get("course_id")) - class ImageRetrieveUpdateDestroyView(generics.RetrieveUpdateDestroyAPIView): # GET 요청: 특정 이미지 파일을 조회합니다. @@ -308,9 +309,6 @@ class VideoListCreateView(generics.ListCreateAPIView): serializer_class = VideoSerializer permission_classes = [IsTutor | IsSuperUser] - def perform_create(self, serializer): - serializer.save(topic_id=self.request.data.get("topic_id")) - class VideoRetrieveUpdateDestroyView(generics.RetrieveUpdateDestroyAPIView): # GET 요청: 특정 영상 파일을 조회합니다. From 08d2cee21f4e0224e50ef7699cfeb255e3a5b226 Mon Sep 17 00:00:00 2001 From: yujeong Date: Mon, 14 Oct 2024 14:19:29 +0900 Subject: [PATCH 06/22] =?UTF-8?q?refactor:=20materials/models.py=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20-=20is=5Fdeleted=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- materials/models.py | 71 +++++++++++++++++++++++++++++++-------------- 1 file changed, 50 insertions(+), 21 deletions(-) diff --git a/materials/models.py b/materials/models.py index 98388f9..826523a 100644 --- a/materials/models.py +++ b/materials/models.py @@ -1,25 +1,15 @@ -import uuid - -from django.db import models - from accounts.models import CustomUser from courses.models import Course, Topic from django.conf import settings from django.db import models -def upload_to(instance, filename): - """ - 이미지 파일을 S3에 업로드할 때 사용할 경로를 동적으로 생성합니다. - UUID를 사용하여 중복 파일명을 피합니다. - """ - ext = filename.split(".")[-1] # 파일 확장자 추출 - return f"images/{uuid.uuid4()}.{ext}" - - class Image(models.Model): """ 이미지 객체를 위해 작성된 모델입니다. + - 관계: Course(1:1), CustomUser(1:1), CustomUser(1:N)를 갖습니다. + - 삭제: 소프트 삭제를 위해 불린 필드를 갖습니다. + - 생성: 지정한 이미지 파일이 없다면 디폴트 값으로 저장됩니다. """ course = models.OneToOneField( @@ -36,10 +26,25 @@ class Image(models.Model): null=True, blank=True, ) - image_url = models.ImageField(upload_to=upload_to, blank=True, null=True, verbose_name="이미지 파일") + author = models.ForeignKey( + CustomUser, + on_delete=models.CASCADE, + related_name="images", + verbose_name="이미지를 등록한 사용자", + null=True, + blank=True, + ) + + image_url = models.ImageField( + upload_to="images/", blank=True, null=True, verbose_name="이미지 파일" + ) + is_deleted = models.BooleanField(default=False) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) + class Meta: + ordering = ['-created_at'] + def __str__(self): if self.user: return f"{self.user}'s Image" @@ -57,23 +62,36 @@ def save(self, *args, **kwargs): class Video(models.Model): + """ + 동영상 객체를 위해 작성된 모델입니다. + - 관계: Topic(1:1), Course(1:1)를 갖습니다. + - 삭제: 소프트 삭제를 위해 불린 필드를 갖습니다. + - 생성: 지정한 이미지 파일이 없다면 디폴트 값으로 저장됩니다. + """ + topic = models.OneToOneField( Topic, on_delete=models.CASCADE, related_name="video", null=True, blank=True ) course = models.OneToOneField( Course, on_delete=models.CASCADE, related_name="video", null=True, blank=True ) - video_url = models.URLField(blank=True, null=True, verbose_name="비디오 파일") + video_url = models.FileField( + upload_to="videos/", blank=True, null=True, verbose_name="비디오 파일" + ) + is_deleted = models.BooleanField(default=False) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) + class Meta: + ordering = ['-created_at'] + def __str__(self): if self.topic: return f"{self.topic}'s Video" elif self.course: return f"Course Video for {self.course}" return "Video" - + def save(self, *args, **kwargs): if not self.video_url: self.video_url = f"{settings.MEDIA_URL}videos/default_video.mp4" @@ -82,6 +100,14 @@ def save(self, *args, **kwargs): class VideoEventData(models.Model): + """ + 특정 사용자에 대한 동영상 이벤트 객체를 위해 작성된 모델입니다. + - 관계: Course(1:1), CustomUser(1:1), CustomUser(1:N)를 갖습니다. + - 삭제: 소프트 삭제를 위해 불린 필드를 갖습니다. + - 생성: 지정한 이미지 파일이 없다면 디폴트 값으로 저장됩니다. + - 변환: 동영상 전체 길이와 현재 재생 시점을 분과 초로 변환합니다. + """ + EVENT_CHOICES = [ ("pause", "Paused"), ("ended", "Ended"), @@ -99,19 +125,22 @@ class VideoEventData(models.Model): Video, on_delete=models.CASCADE, related_name="video_event_datas", - verbose_name="시청 기록의 해당 비디오", + verbose_name="시청 기록의 해당 동영상", ) event_type = models.CharField( max_length=20, choices=EVENT_CHOICES, verbose_name="이벤트 유형" ) - duration = models.FloatField(verbose_name="비디오 전체 길이") # 초 단위로 저장 - current_time = models.FloatField(verbose_name="현재 재생 위치") # 초 단위로 저장 + duration = models.FloatField(verbose_name="동영상 전체 길이") + current_time = models.FloatField(verbose_name="현재 재생 위치") timestamp = models.DateTimeField(auto_now_add=True, verbose_name="이벤트 발생 시간") + class Meta: + ordering = ['-created_at'] + def get_duration_in_minutes(self): """ - 분과 초로 변환된 영상 재생 시간을 반환합니다. + 분과 초로 변환된 동영상 전체 재생 시간을 반환합니다. """ minutes = int(self.duration // 60) seconds = int(self.duration % 60) @@ -119,7 +148,7 @@ def get_duration_in_minutes(self): def get_current_time_in_minutes(self): """ - 분과 초로 변환된 현재 재생 시간을 반환합니다. + 분과 초로 변환된 동영상 현재 재생 시점을 반환합니다. """ minutes = int(self.current_time // 60) seconds = int(self.current_time % 60) From a9139dce8eeb29f3967789309cc6d5dd02d94f0c Mon Sep 17 00:00:00 2001 From: yujeong Date: Mon, 14 Oct 2024 14:19:57 +0900 Subject: [PATCH 07/22] =?UTF-8?q?refactor:=20materials/urls.py=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20-=20id=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- materials/urls.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/materials/urls.py b/materials/urls.py index 486731c..4250765 100644 --- a/materials/urls.py +++ b/materials/urls.py @@ -7,29 +7,34 @@ urlpatterns = [ # 이미지 관련 URL path("images/upload/", views.ImageCreateView.as_view(), name="image-upload"), - path("images/", views.ImageListCreateView.as_view(), name="image-list-create"), + path("images/", views.ImageListView.as_view(), name="image-list-create"), path( "images//", views.ImageRetrieveUpdateDestroyView.as_view(), name="image-detail", ), - # 비디오 관련 URL + # 동영상 관련 URL path("videos/upload/", views.VideoCreateView.as_view(), name="video-upload"), - path("videos/", views.VideoListCreateView.as_view(), name="video-list"), + path("videos/", views.VideoListView.as_view(), name="video-list"), path( "videos//", views.VideoRetrieveUpdateDestroyView.as_view(), name="video-detail", ), - # 사용자 비디오 시청 기록 관련 URL + # 사용자 동영상 이벤트 관련 URL path( - "video-event-data/", - views.VideoEventCreateView.as_view(), + "user//video//event-occur/", + views.UserVideoEventCreateView.as_view(), name="video-event-data", ), path( - "users//videos//watch-history/", - views.UserVideoEventListView.as_view(), + "user//video//history/", + views.UserVideoEventListView(), name="video-event-list", ), + path( + "user//video//history/", + views.UserVideoEventRetrieveUpdateDestroyView(), + name="video-event-detail", + ), ] From c1f487d228050a3821c291fb4bfaf79e4e74fc68 Mon Sep 17 00:00:00 2001 From: yujeong Date: Mon, 14 Oct 2024 14:20:31 +0900 Subject: [PATCH 08/22] =?UTF-8?q?refactor:=20materials/serializers.py=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20-=20=EC=8B=9C=EB=A6=AC=EC=96=BC=EB=9D=BC?= =?UTF-8?q?=EC=9D=B4=EC=A0=80=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- materials/serializers.py | 130 +++++++++++++++++---------------------- 1 file changed, 58 insertions(+), 72 deletions(-) diff --git a/materials/serializers.py b/materials/serializers.py index 75acf77..7d2c24b 100644 --- a/materials/serializers.py +++ b/materials/serializers.py @@ -7,27 +7,26 @@ class ImageSerializer(serializers.ModelSerializer): """ - 이미지 생성(업로드)을 위한 시리얼라이저입니다. - - 형식, 손상 여부에 대해 유효성 검사를 합니다. - - 형식, 손상 여부에 대해 유효성 검사를 합니다. + 이미지 파일을 위한 시리얼라이저입니다. + - 필드: 모든 필드를 포함합니다. + - 검사: 파일 형식과 손상 여부에 대해 유효성 검사를 합니다. """ - file = serializers.ImageField(write_only=True) - class Meta: model = Image fields = [ "id", "image_url", + "is_deleted", "created_at", "updated_at", - "file", ] read_only_fields = [ "id", + "image_url", + "is_deleted", "created_at", "updated_at", - "image_url", ] def validate_file(self, value): @@ -46,80 +45,89 @@ def validate_file(self, value): class VideoSerializer(serializers.ModelSerializer): + """ + 동영상 파일을 위한 시리얼라이저입니다. + - 필드: 모든 필드를 포함합니다. + - 검사: 파일 형식과 손상 여부에 대해 유효성 검사를 합니다. + """ class Meta: model = Video fields = [ "id", "video_url", + "is_deleted", "created_at", "updated_at", - "file", ] - read_only_fields = ["id", "created_at", "updated_at", "video_url"] + read_only_fields = ["id", "video_url", "is_deleted", "created_at", "updated_at"] def validate_file(self, value): - # 영상 형식과 크기 유효성 검사 allowed_extensions = ["mp4", "avi", "mov", "wmv"] - max_size = 100 * 1024 * 1024 # 100MB if not value.name.split(".")[-1] in allowed_extensions: raise serializers.ValidationError( f"허용되지 않는 파일 형식입니다. 다음 형식만 가능합니다: {', '.join(allowed_extensions)}." ) - if value.size > max_size: + + try: + cap = cv2.VideoCapture(value) + if not cap.isOpened(): + raise serializers.ValidationError( + "비디오 파일을 열 수 없습니다. 파일이 손상되었을 수 있습니다." + ) + + ret, frame = cap.read() + if not ret: + raise serializers.ValidationError( + "비디오 파일을 읽을 수 없습니다. 파일이 손상되었을 수 있습니다." + ) + + except Exception as e: raise serializers.ValidationError( - "파일 크기가 너무 큽니다. 최대 크기는 100MB입니다." + f"비디오 파일 검사 중 오류가 발생했습니다: {str(e)}" ) - # 영상 손상 여부 검사 - # try: - # cap = cv2.VideoCapture(value) - # if not cap.isOpened(): - # raise serializers.ValidationError( - # "비디오 파일을 열 수 없습니다. 파일이 손상되었을 수 있습니다." - # ) - - # ret, frame = cap.read() - # if not ret: - # raise serializers.ValidationError( - # "비디오 파일을 읽을 수 없습니다. 파일이 손상되었을 수 있습니다." - # ) - - # except Exception as e: - # raise serializers.ValidationError( - # f"비디오 파일 검사 중 오류가 발생했습니다: {str(e)}" - # ) - # finally: - # cap.release() + finally: + cap.release() return value -class VideoEventSerializer(serializers.ModelSerializer): +class VideoEventDataSerializer(serializers.ModelSerializer): + """ + 동영상 파일에 대한 이벤트를 위한 시리얼라이저입니다. + - 필드: 모든 필드를 포함합니다. + - 검사: 필드값과 전체 재생 시간과 현재 재생 시점에 대해 유효성 검사를 합니다. + - 생성: VideoEventData를 받기 전에, 먼저 S3에 존재하는 Video 인스턴스인지 확인하고 + 그러하다면 해당 Video 인스턴스와 관계된 VideoEventData를 생성합니다. + """ - video_url = serializers.URLField( - write_only=True - ) # 클라이언트가 보내는 video_url을 받기 위한 필드 + video_url = serializers.URLField(write_only=True) class Meta: model = VideoEventData - fields = ["id", "video_url", "duration", "current_time", "event_type"] - read_only_fields = ["id", "timestamp"] + fields = [ + "id", + "user", + "video", + "video_url", + "duration", + "current_time", + "event_type", + ] + read_only_fields = ["id", "user", "timestamp"] def validate_duration(self, value): if value < 0: raise serializers.ValidationError("올바른 영상 재생시간이 아닙니다.") return value - def validate_current_time(self, value): # 필드 이름 수정 + def validate_current_time(self, value): if value < 0: raise serializers.ValidationError("올바른 영상 현재 재생시간이 아닙니다.") return value def validate_event_type(self, value): - """ - event_type 값이 선택된 EVENT_CHOICES 중 하나인지 확인합니다. - """ valid_choices = dict(VideoEventData.EVENT_CHOICES).keys() if value not in valid_choices: raise serializers.ValidationError(f"{value}는 유효한 이벤트가 아닙니다.") @@ -130,17 +138,17 @@ def validate(self, data): raise serializers.ValidationError("올바른 영상 재생시간 관계가 아닙니다.") return data - def create(self, validated_data): - """ - VideoEventData를 생성합니다. - - VideoEventData를 받기 전에, 먼저 S3에 존재하는 Video 인스턴스인지 확인하고 - - 그러하다면 해당 Video 인스턴스와 관계된 VideoEventData를 생성합니다. + def get_duration(self, obj): + return obj.get_duration_in_minutes() - """ + def get_current_time(self, obj): + return obj.get_current_time_in_minutes() + + def create(self, validated_data): video_url = validated_data.pop("video_url", None) try: - video_instance = Video.objects.get(file=video_url) + video_instance = Video.objects.get(video_url=video_url) except Video.DoesNotExist: raise serializers.ValidationError( "해당 URL과 일치하는 영상 파일이 없습니다." @@ -150,25 +158,3 @@ def create(self, validated_data): ) return video_event_data - - -class UserViewEventListSerializer(serializers.ModelSerializer): - duration_in_minutes = serializers.SerializerMethodField() - current_time_in_minutes = serializers.SerializerMethodField() - - class Meta: - model = VideoEventData - fields = [ - "event_type", - "duration", - "current_time", - "timestamp", - "duration_in_minutes", # 분과 초로 변환된 전체 재생시간 - "current_time_in_minutes", # 분과 초로 변환된 현재 시간 - ] - - def get_duration_in_minutes(self, obj): - return obj.get_duration_in_minutes() - - def get_current_time_in_minutes(self, obj): - return obj.get_current_time_in_minutes() From 515641ee1abb0b31c3b4a07bf8ac770ed621e147 Mon Sep 17 00:00:00 2001 From: yujeong Date: Mon, 14 Oct 2024 14:21:04 +0900 Subject: [PATCH 09/22] =?UTF-8?q?refactor:=20materials/views.py=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20-=20=EB=B7=B0=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- materials/views.py | 420 +++++++++++++++++++++++++-------------------- 1 file changed, 238 insertions(+), 182 deletions(-) diff --git a/materials/views.py b/materials/views.py index 556d545..17c231f 100644 --- a/materials/views.py +++ b/materials/views.py @@ -2,30 +2,29 @@ import boto3 import ffmpeg +from accounts.models import CustomUser from accounts.permissions import IsSuperUser, IsTutor from botocore.exceptions import ClientError from django.conf import settings +from django.contrib.auth import get_user_model from django.shortcuts import get_object_or_404 from PIL import Image as PILImage from PIL import ImageFilter from rest_framework import generics, permissions, status -from rest_framework.exceptions import PermissionDenied +from rest_framework.exceptions import NotFound, PermissionDenied from rest_framework.parsers import FormParser, MultiPartParser from rest_framework.response import Response from .models import Image, Video, VideoEventData -from .serializers import ( - ImageSerializer, - UserViewEventListSerializer, - VideoEventSerializer, - VideoSerializer, -) +from .serializers import (ImageSerializer, UserViewEventListSerializer, + VideoEventDataSerializer, VideoSerializer) + +User = get_user_model() -# 리팩토링할 때 중복 함수 이곳에 작성 def optimize_image(image_file): """ - 이미지를 최적화하는 메서드입니다. + 이미지 파일을 최적화합니다. - 포맷 변환 - 리사이징 - 필터링 @@ -36,30 +35,32 @@ def optimize_image(image_file): img.thumbnail((800, 600)) img = img.filter(ImageFilter.SHARPEN) - return img + optimized_io = io.BytesIO() + img.save(optimized_io, format="JPEG", quality=85) + optimized_io.seek(0) + + return optimized_io -def optimize_video(self, video_file): +def optimize_video(video_file): """ - 비디오 파일을 최적화합니다. + 동영상 파일을 최적화합니다. - 포맷 변환 - 리사이징 작업 """ - # 최적화된 비디오를 임시 메모리에 저장 output_io = io.BytesIO() ffmpeg.input(video_file).output( output_io, format="mp4", video_bitrate="1000k", s="640x360", preset="fast" ).run(overwrite_output=True) - # 임시 메모리의 포인터를 처음으로 이동 output_io.seek(0) return output_io -def upload_to_s3(image_io, file_name): +def upload_to_s3(file_io, file_name, content_type): """ - S3에 파일을 업로드하는 함수입니다. + 파일을 S3에 업로드합니다. """ s3_client = boto3.client( "s3", @@ -68,15 +69,21 @@ def upload_to_s3(image_io, file_name): region_name=settings.AWS_S3_REGION_NAME, ) s3_client.upload_fileobj( - image_io, + file_io, settings.AWS_STORAGE_BUCKET_NAME, file_name, - ExtraArgs={"ContentType": "image/jpeg"}, + ExtraArgs={"ContentType": content_type}, ) class ImageCreateView(generics.CreateAPIView): - # POST 요청: Image 객체를 사용해서 S3에 이미지 파일을 업로드합니다. + """ + 이미지 파일을 최적화한 후 S3에 업로드합니다. + - 권한: 인증된 사용자만이 이미지 파일을 업로드할 수 있습니다. + - 위치: S3에서 'images/사용자 식별자(user_id)' 폴더에 이미지 파일을 업로드합니다. + - 사용자 편의성: 파일명 중복을 피하기 위해, 생성 시간을 포함시킵니다. + - 에러: AWS S3에 대한 요청이 실패했을 때 발생했을 때 ClientError를 발생시킵니다. + """ queryset = Image.objects.all() serializer_class = ImageSerializer @@ -87,7 +94,7 @@ def create(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) - image_file = request.FILES.get("file") + image_file = request.FILES.get("image_url") if not image_file: return Response( @@ -98,14 +105,9 @@ def create(self, request, *args, **kwargs): optimized_image = optimize_image(image_file) try: - # 최적화된 이미지를 임시로 메모리에 저장 - image_io = io.BytesIO() - optimized_image.save(image_io, format="JPEG", quality=85) - image_io.seek(0) user = get_object_or_404(CustomUser, id=request.data.get("user_id")) - # 파일 이름 생성: 사용자 ID와 코스 ID를 포함 if user: timestamp = int(time.time()) file_name = f"images/user_{user.id}/{timestamp}_{image_file.name}" @@ -115,10 +117,8 @@ def create(self, request, *args, **kwargs): status=status.HTTP_400_BAD_REQUEST, ) - # S3에 파일 업로드 - upload_to_s3(image_io, file_name) + upload_to_s3(optimized_image, file_name, "image/jpeg") - # 업로드된 파일의 URL 생성 file_url = f"https://{settings.AWS_S3_CUSTOM_DOMAIN}/{file_name}" image = serializer.save(image_url=file_url) @@ -130,10 +130,15 @@ def create(self, request, *args, **kwargs): return Response( {"error": str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR ) + finally: + del optimized_image -class ImageListCreateView(generics.ListCreateAPIView): - # GET 요청: 이미지 파일 목록을 가져옵니다. +class ImageListView(generics.ListAPIView): + """ + 저장한 이미지 파일 목록을 가져옵니다. + - 권한: 인증된 사용자만이 이미지 파일 목록을 조회할 수 있습니다. + """ queryset = Image.objects.all() serializer_class = ImageSerializer @@ -141,68 +146,40 @@ class ImageListCreateView(generics.ListCreateAPIView): class ImageRetrieveUpdateDestroyView(generics.RetrieveUpdateDestroyAPIView): - # GET 요청: 특정 이미지 파일을 조회합니다. - # PUT 요청: 특정 이미지 파일을 변경합니다. - # DELETE 요청: 특정 이미지 파일을 삭제합니다. + """ + 기존의 이미지 파일을 삭제 후 S3에 최적화 및 갱신하거나 소프트 삭제합니다. + - 권한: 인증된 사용자만이 이미지 파일을 갱신할 수 있습니다. + - 위치: S3에서 'images/사용자 식별자(user_id)' 폴더에 이미지 파일을 업로드합니다. + - 사용자 편의성: 파일명 중복을 피하기 위해, 생성 시간을 포함시킵니다. + - 에러: AWS S3에 대한 요청이 실패했을 때 발생했을 때 ClientError를 발생시킵니다. + """ queryset = Image.objects.all() serializer_class = ImageSerializer permission_classes = [permissions.IsAuthenticated] - def check_object_permissions(self, request, obj): - if not request.user.is_staff and obj.course.tutor != request.user: - raise PermissionDenied("접근 권한이 없습니다.") - return super().check_object_permissions(request, obj) - - def get(self, request, *args, **kwargs): - image = self.get_object() # 특정 이미지 객체 가져오기 - - # S3에서 이미지 다운로드 - s3_client = boto3.client( - "s3", - aws_access_key_id=settings.AWS_ACCESS_KEY_ID, - aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, - region_name=settings.AWS_S3_REGION_NAME, - ) - - try: - # S3에서 객체 가져오기 - s3_response = s3_client.get_object( - Bucket=settings.AWS_STORAGE_BUCKET_NAME, - Key=image.image_url.split("/")[-1], - ) - - # 파일을 바이너리 형식으로 반환 - response = HttpResponse( - s3_response["Body"].read(), - content_type="image/jpeg", - ) - response["Content-Disposition"] = ( - f'attachment; filename="{image.image_url.split("/")[-1]}"' - ) - return response + def put(self, request, *args, **kwargs): + image = self.get_object() - except ClientError as e: + if image.user != request.user: return Response( - {"error": str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR + {"error": "해당 이미지에 대한 권한이 없습니다."}, + status=status.HTTP_403_FORBIDDEN, ) - def put(self, request, *args, **kwargs): - image = self.get_object() # 특정 이미지 객체 가져오기 serializer = self.get_serializer(image, data=request.data, partial=True) serializer.is_valid(raise_exception=True) - # 이미지 파일을 최적화하고 S3에 업로드 image_file = request.FILES.get("image_url") - if image_file: - optimized_image = self.optimize_image(image_file) - # 최적화된 이미지를 임시로 메모리에 저장 - image_io = io.BytesIO() - optimized_image.save(image_io, format="JPEG", quality=85) - image_io.seek(0) + if not image_file: + return Response( + {"error": "이미지 파일이 필요합니다."}, + status=status.HTTP_400_BAD_REQUEST, + ) + + try: - # 기존 이미지 삭제 (S3에서) s3_client = boto3.client( "s3", aws_access_key_id=settings.AWS_ACCESS_KEY_ID, @@ -214,38 +191,46 @@ def put(self, request, *args, **kwargs): Key=image.image_url.split("/")[-1], ) - # 새로운 파일 이름 생성 - timestamp = int(time.time()) - file_name = f"images/user_{image.user.id}/{timestamp}_{image_file.name}" + optimized_image = self.optimize_image(image_file) + + user = get_object_or_404(CustomUser, id=request.data.get("user_id")) - # S3에 새로운 이미지 업로드 - upload_to_s3(image_io, file_name, content_type="image/jpeg") + if user: + timestamp = int(time.time()) + file_name = f"images/user_{image.user.id}/{timestamp}_{image_file.name}" + + upload_to_s3(optimized_image, file_name, "image/jpeg") - # 업로드된 파일의 URL 생성 file_url = f"https://{settings.AWS_S3_CUSTOM_DOMAIN}/{file_name}" image = serializer.save(image_url=file_url) - return Response(self.get_serializer(image).data, status=status.HTTP_200_OK) + return Response(self.get_serializer(image).data, status=status.HTTP_200_OK) + except ClientError as e: + return Response( + {"error": str(e)}, + status=status.HTTP_500_INTERNAL_SERVER_ERROR, + ) + except Exception as e: + return Response( + {"error": "이미지를 처리하는 중 오류가 발생했습니다."}, + status=status.HTTP_500_INTERNAL_SERVER_ERROR, + ) + finally: + del optimized_image def delete(self, request, *args, **kwargs): - image = self.get_object() # 특정 이미지 객체 가져오기 - - # S3에서 이미지 삭제 - s3_client = boto3.client( - "s3", - aws_access_key_id=settings.AWS_ACCESS_KEY_ID, - aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, - region_name=settings.AWS_S3_REGION_NAME, - ) + image = self.get_object() - try: - s3_client.delete_object( - Bucket=settings.AWS_STORAGE_BUCKET_NAME, - Key=image.image_url.split("/")[-1], + if image.user != request.user: + return Response( + {"error": "해당 이미지에 대한 권한이 없습니다."}, + status=status.HTTP_403_FORBIDDEN, ) - # 데이터베이스에서 이미지 객체 삭제 - image.delete() + + try: + image.is_deleted = True + image.save() return Response(status=status.HTTP_204_NO_CONTENT) except ClientError as e: return Response( @@ -254,7 +239,13 @@ def delete(self, request, *args, **kwargs): class VideoCreateView(generics.CreateAPIView): - # POST 요청: 영상 파일을 업로드합니다. + """ + 동영상 파일을 최적화한 후 S3에 업로드합니다. + - 권한: 인증된 사용자 중 강사와 수퍼유저만이 동영상 파일을 업로드할 수 있습니다. + - 위치: S3에서 'videos/사용자 식별자(user_id)' 폴더에 동영상 파일을 업로드합니다. + - 사용자 편의성: 파일명 중복을 피하기 위해, 생성 시간을 포함시킵니다. + - 에러: AWS S3에 대한 요청이 실패했을 때 발생했을 때 ClientError를 발생시킵니다. + """ queryset = Video.objects.all() serializer_class = VideoSerializer @@ -268,7 +259,7 @@ def create(self, request, *args, **kwargs): video_file = request.FILES.get("video_url") if not video_file: return Response( - {"error": "비디오 파일이 필요합니다."}, + {"error": "동영상 파일이 필요합니다."}, status=status.HTTP_400_BAD_REQUEST, ) @@ -277,18 +268,14 @@ def create(self, request, *args, **kwargs): try: user = get_object_or_404(CustomUser, id=request.data.get("user_id")) - # 파일 이름 생성 if user: timestamp = int(time.time()) - file_name = f"video/user_{user.id}/{timestamp}_{video_file.name}" + file_name = f"videos/user_{user.id}/{timestamp}_{video_file.name}" - # S3에 파일 업로드 - upload_to_s3(optimized_video, file_name) + upload_to_s3(optimized_video, file_name, "video/mp4") - # 업로드된 파일의 URL 생성 file_url = f"https://{settings.AWS_S3_CUSTOM_DOMAIN}/{file_name}" - # 비디오 객체 생성 및 저장 serializer.validated_data["video_url"] = file_url video = serializer.save(video_url=file_url) @@ -299,21 +286,29 @@ def create(self, request, *args, **kwargs): return Response( {"error": str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR ) - return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + finally: + del optimized_video -class VideoListCreateView(generics.ListCreateAPIView): - # GET 요청: 영상 파일 목록을 조회합니다. +class VideoListView(generics.ListAPIView): + """ + 저장한 이미지 파일 목록을 가져옵니다. + - 권한: 인증된 사용자만이 이미지 파일 목록을 조회할 수 있습니다. + """ - queryset = Video.objects.all() + queryset = Video.objects.filter(is_deleted=False) serializer_class = VideoSerializer permission_classes = [IsTutor | IsSuperUser] class VideoRetrieveUpdateDestroyView(generics.RetrieveUpdateDestroyAPIView): - # GET 요청: 특정 영상 파일을 조회합니다. - # PUT 요청: 특정 영상 파일을 변경합니다. - # DELETE 요청: 특정 영상 파일을 삭제합니다. + """ + 기존의 동영상 파일을 삭제 후 S3에 최적화 및 갱신하거나 소프트 삭제합니다. + - 권한: 인증된 사용자 중 수퍼유저만이 이미지 파일을 갱신할 수 있습니다. + - 위치: S3에서 'videos/사용자 식별자(user_id)' 폴더에 이미지 파일을 업로드합니다. + - 사용자 편의성: 파일명 중복을 피하기 위해, 생성 시간을 포함시킵니다. + - 에러: AWS S3에 대한 요청이 실패했을 때 발생했을 때 ClientError를 발생시킵니다. + """ queryset = Video.objects.all() serializer_class = VideoSerializer @@ -325,50 +320,22 @@ def check_object_permissions(self, request, obj): raise PermissionDenied("접근 권한이 없습니다.") return super().check_object_permissions(request, obj) - def get(self, request, *args, **kwargs): - video = self.get_object() # 특정 비디오 객체 가져오기 - - # S3에서 비디오 다운로드 - s3_client = boto3.client( - "s3", - aws_access_key_id=settings.AWS_ACCESS_KEY_ID, - aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, - region_name=settings.AWS_S3_REGION_NAME, - ) - - try: - # S3에서 비디오 객체 가져오기 - s3_response = s3_client.get_object( - Bucket=settings.AWS_STORAGE_BUCKET_NAME, - Key=video.video_url.split("/")[-1], - ) - - # 파일을 바이너리 형식으로 반환 - response = HttpResponse( - s3_response["Body"].read(), - content_type="video/mp4", # 비디오 형식에 따라 변경 가능 - ) - response["Content-Disposition"] = ( - f'attachment; filename="{video.video_url.split("/")[-1]}"' - ) - return response - - except ClientError as e: - return Response( - {"error": str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR - ) - def put(self, request, *args, **kwargs): - video = self.get_object() # 특정 비디오 객체 가져오기 + video = self.get_object() serializer = self.get_serializer(video, data=request.data, partial=True) serializer.is_valid(raise_exception=True) - # 비디오 파일을 최적화하고 S3에 업로드 video_file = request.FILES.get("video_url") - if video_file: + if not video_file: + return Response( + {"error": "동영상 파일이 필요합니다."}, + status=status.HTTP_400_BAD_REQUEST, + ) + + try: + optimized_video = self.optimize_video(video_file) - # S3에서 기존 비디오 삭제 s3_client = boto3.client( "s3", aws_access_key_id=settings.AWS_ACCESS_KEY_ID, @@ -380,40 +347,45 @@ def put(self, request, *args, **kwargs): Key=video.video_url.split("/")[-1], ) - # 새로운 파일 이름 생성 - timestamp = int(time.time()) - file_name = f"video/user_{video.user.id}/{timestamp}_{video_file.name}" + user = get_object_or_404(CustomUser, id=request.data.get("user_id")) + + if user: + timestamp = int(time.time()) + file_name = f"videos/user_{user.id}/{timestamp}_{video_file.name}" - # S3에 새로운 비디오 업로드 - upload_to_s3(optimized_video, file_name) + upload_to_s3(optimized_video, file_name, "video/mp4") - # 업로드된 파일의 URL 생성 file_url = f"https://{settings.AWS_S3_CUSTOM_DOMAIN}/{file_name}" - # 시리얼라이저에 전달 후 저장 serializer.validated_data["video_url"] = file_url video = serializer.save() - return Response(self.get_serializer(video).data, status=status.HTTP_200_OK) + return Response(self.get_serializer(video).data, status=status.HTTP_200_OK) + except ClientError as e: + return Response( + {"error": str(e)}, + status=status.HTTP_500_INTERNAL_SERVER_ERROR, + ) + except Exception as e: + return Response( + {"error": "동영상을 처리하는 중 오류가 발생했습니다."}, + status=status.HTTP_500_INTERNAL_SERVER_ERROR, + ) + finally: + del optimized_video def delete(self, request, *args, **kwargs): - video = self.get_object() # 특정 비디오 객체 가져오기 - - # S3에서 비디오 삭제 - s3_client = boto3.client( - "s3", - aws_access_key_id=settings.AWS_ACCESS_KEY_ID, - aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, - region_name=settings.AWS_S3_REGION_NAME, - ) + video = self.get_object() - try: - s3_client.delete_object( - Bucket=settings.AWS_STORAGE_BUCKET_NAME, - Key=video.video_url.split("/")[-1], + if video.user != request.user: + return Response( + {"error": "해당 동영상에 대한 권한이 없습니다."}, + status=status.HTTP_403_FORBIDDEN, ) - # 데이터베이스에서 비디오 객체 삭제 - video.delete() + + try: + image.is_deleted = True + image.save() return Response(status=status.HTTP_204_NO_CONTENT) except ClientError as e: return Response( @@ -421,21 +393,105 @@ def delete(self, request, *args, **kwargs): ) -class VideoEventCreateView(generics.CreateAPIView): +class UserVideoEventCreateView(generics.CreateAPIView): """ - POST 요청을 받아 영상 파일에 대한 이벤트 정보를 저장합니다. + 특정 사용자에 대한 동영상 시청 이벤트를 생성합니다. + - 권한: 인증된 사용자만이 동영상 시청 기록을 남길 수 있습니다. """ queryset = VideoEventData.objects.all() - serializer_class = VideoEventSerializer + serializer_class = VideoEventDataSerializer + permission_classes = [permissions.IsAuthenticated] + + def perform_create(self, serializer): + user_id = self.kwargs["user_id"] + user = get_object_or_404(CustomUser, id=user_id) + + video_id = self.request.data.get("video_id") + video = get_object_or_404(Video, id=video_id) + + serializer.save(user=user, video=video) + + def create(self, request, *args, **kwargs): + user_id = self.kwargs.get("user_id") + video_id = request.data.get("video_id") + + user = get_object_or_404(CustomUser, id=user_id) + video = get_object_or_404(Video, id=video_id) + + serializer = self.get_serializer(data=request.data) + serializer.is_valid(raise_exception=True) + + serializer.save(user=user, video=video) + + return Response(serializer.data, status=status.HTTP_201_CREATED) class UserVideoEventListView(generics.ListAPIView): - serializer_class = UserViewEventListSerializer + """ + 특정 사용자에 대한 동영상 시청 이벤트 기록을 가져옵니다. + - 권한: 인증된 사용자 중 수퍼유저만이 동영상 시청 기록을 조회할 수 있습니다. + """ + + queryset = VideoEventData.objects.all() + serializer_class = VideoEventDataSerializer + permission_classes = [IsSuperUser] def get_queryset(self): - user_id = self.kwargs.get("user_id") - video_id = self.kwargs.get("video_id") + user_id = self.kwargs["user_id"] + video_id = self.kwargs["video_id"] + + return VideoEventData.objects.filter(user__id=user_id, video__id=video_id) + + def list(self, request, *args, **kwargs): + queryset = self.get_queryset() + if not queryset.exists(): + raise NotFound("해당 사용자의 비디오 시청 기록을 찾을 수 없습니다.") + serializer = self.get_serializer(queryset, many=True) + return Response(serializer.data, status=status.HTTP_200_OK) + + +class UserVideoEventRetrieveUpdateDestroyView(generics.ListAPIView): + """ + 특정 사용자에 대한 동영상 시청 기록을 개별 조회, 갱신, 삭제합니다. + - 권한: 인증된 사용자 중 수퍼유저만이 동영상 시청 기록을 개별 조회, 갱신, 삭제할 수 있습니다. + """ + + queryset = VideoEventData.objects.all() + serializer_class = VideoEventDataSerializer + permission_classes = [IsSuperUser] + lookup_url_kwarg = "event_id" + + def get_queryset(self): + user_id = self.kwargs["user_id"] + video_id = self.kwargs["video_id"] + event_id = self.kwargs["event_id"] + + return VideoEventData.objects.filter( + user__id=user_id, video__id=video_id, id=event_id + ) + + def get_object(self): + queryset = self.get_queryset() + obj = queryset.first() + if not obj: + raise NotFound("해당 시청 기록을 찾을 수 없습니다.") + return obj + + def retrieve(self, request, *args, **kwargs): + instance = self.get_object() + serializer = self.get_serializer(instance) + return Response(serializer.data, status=status.HTTP_200_OK) + + def update(self, request, *args, **kwargs): + partial = kwargs.pop("partial", True) + instance = self.get_object() + serializer = self.get_serializer(instance, data=request.data, partial=partial) + serializer.is_valid(raise_exception=True) + self.perform_update(serializer) + return Response(serializer.data, status=status.HTTP_200_OK) - # 특정 사용자와 특정 비디오에 대한 이벤트 데이터를 필터링 - return VideoEventData.objects.filter(user_id=user_id, video_id=video_id) + def destroy(self, request, *args, **kwargs): + instance = self.get_object() + self.perform_destroy(instance) + return Response(status=status.HTTP_204_NO_CONTENT) From 368de384555f50c92109298dbd0e47ba445ab8da Mon Sep 17 00:00:00 2001 From: yujeong Date: Mon, 14 Oct 2024 14:26:12 +0900 Subject: [PATCH 10/22] =?UTF-8?q?refactor:=20materials/views.py=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20-=20=EB=B7=B0=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- materials/views.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/materials/views.py b/materials/views.py index 17c231f..1114700 100644 --- a/materials/views.py +++ b/materials/views.py @@ -16,8 +16,7 @@ from rest_framework.response import Response from .models import Image, Video, VideoEventData -from .serializers import (ImageSerializer, UserViewEventListSerializer, - VideoEventDataSerializer, VideoSerializer) +from .serializers import ImageSerializer, VideoEventDataSerializer, VideoSerializer User = get_user_model() From 9a2264ad4afbdd2f021945b83b7776c083b51bb9 Mon Sep 17 00:00:00 2001 From: yujeong Date: Mon, 14 Oct 2024 14:27:32 +0900 Subject: [PATCH 11/22] =?UTF-8?q?refactor:=20materials/urls.py=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20-=20id=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- materials/urls.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/materials/urls.py b/materials/urls.py index 4250765..1880d08 100644 --- a/materials/urls.py +++ b/materials/urls.py @@ -29,12 +29,12 @@ ), path( "user//video//history/", - views.UserVideoEventListView(), + views.UserVideoEventListView.as_view(), name="video-event-list", ), path( "user//video//history/", - views.UserVideoEventRetrieveUpdateDestroyView(), + views.UserVideoEventRetrieveUpdateDestroyView.as_view(), name="video-event-detail", ), ] From d43156feaf3b1c3a2af4e71aefbd15eb48caf31a Mon Sep 17 00:00:00 2001 From: yujeong Date: Mon, 14 Oct 2024 14:27:41 +0900 Subject: [PATCH 12/22] =?UTF-8?q?refactor:=20materials/models.py=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20-=20is=5Fdeleted=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- materials/models.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/materials/models.py b/materials/models.py index 826523a..dffc7de 100644 --- a/materials/models.py +++ b/materials/models.py @@ -43,7 +43,7 @@ class Image(models.Model): updated_at = models.DateTimeField(auto_now=True) class Meta: - ordering = ['-created_at'] + ordering = ["-created_at"] def __str__(self): if self.user: @@ -83,7 +83,7 @@ class Video(models.Model): updated_at = models.DateTimeField(auto_now=True) class Meta: - ordering = ['-created_at'] + ordering = ["-created_at"] def __str__(self): if self.topic: @@ -105,7 +105,7 @@ class VideoEventData(models.Model): - 관계: Course(1:1), CustomUser(1:1), CustomUser(1:N)를 갖습니다. - 삭제: 소프트 삭제를 위해 불린 필드를 갖습니다. - 생성: 지정한 이미지 파일이 없다면 디폴트 값으로 저장됩니다. - - 변환: 동영상 전체 길이와 현재 재생 시점을 분과 초로 변환합니다. + - 변환: 동영상 전체 길이와 현재 재생 시점을 분과 초로 변환합니다. """ EVENT_CHOICES = [ @@ -136,7 +136,7 @@ class VideoEventData(models.Model): timestamp = models.DateTimeField(auto_now_add=True, verbose_name="이벤트 발생 시간") class Meta: - ordering = ['-created_at'] + ordering = ["-timestamp"] def get_duration_in_minutes(self): """ From 144ecaf267caade04b9f9a41738f3675cc59bd5e Mon Sep 17 00:00:00 2001 From: yujeong Date: Mon, 14 Oct 2024 14:30:03 +0900 Subject: [PATCH 13/22] =?UTF-8?q?refactor:=20materials/migrations=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ge_options_alter_video_options_and_more.py | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 materials/migrations/0008_alter_image_options_alter_video_options_and_more.py diff --git a/materials/migrations/0008_alter_image_options_alter_video_options_and_more.py b/materials/migrations/0008_alter_image_options_alter_video_options_and_more.py new file mode 100644 index 0000000..8a2839c --- /dev/null +++ b/materials/migrations/0008_alter_image_options_alter_video_options_and_more.py @@ -0,0 +1,56 @@ +# Generated by Django 5.1.1 on 2024-10-14 05:25 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('materials', '0007_alter_image_author'), + ] + + operations = [ + migrations.AlterModelOptions( + name='image', + options={'ordering': ['-created_at']}, + ), + migrations.AlterModelOptions( + name='video', + options={'ordering': ['-created_at']}, + ), + migrations.AlterModelOptions( + name='videoeventdata', + options={'ordering': ['-timestamp']}, + ), + migrations.AddField( + model_name='image', + name='is_deleted', + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name='video', + name='is_deleted', + field=models.BooleanField(default=False), + ), + migrations.AlterField( + model_name='image', + name='image_url', + field=models.ImageField(blank=True, null=True, upload_to='images/', verbose_name='이미지 파일'), + ), + migrations.AlterField( + model_name='video', + name='video_url', + field=models.FileField(blank=True, null=True, upload_to='videos/', verbose_name='비디오 파일'), + ), + migrations.AlterField( + model_name='videoeventdata', + name='duration', + field=models.FloatField(verbose_name='동영상 전체 길이'), + ), + migrations.AlterField( + model_name='videoeventdata', + name='video', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='video_event_datas', to='materials.video', verbose_name='시청 기록의 해당 동영상'), + ), + ] From 828b699d52bbf00f75f2ae6023b823cc24a99922 Mon Sep 17 00:00:00 2001 From: ALbertIM0427 Date: Mon, 14 Oct 2024 15:10:01 +0900 Subject: [PATCH 14/22] =?UTF-8?q?refactor:=20=EA=B2=B0=EC=A0=9C=20?= =?UTF-8?q?=EB=A6=AC=ED=85=8D=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- payments/admin.py | 5 ++++- payments/mixins.py | 4 ++-- payments/models.py | 20 ++++++++++---------- payments/serializers.py | 10 ++++++++++ weaverse/settings.py | 9 ++------- 5 files changed, 28 insertions(+), 20 deletions(-) diff --git a/payments/admin.py b/payments/admin.py index d9b63b3..a08cb3c 100644 --- a/payments/admin.py +++ b/payments/admin.py @@ -1,5 +1,8 @@ from django.contrib import admin -from .models import Cart, Order, Payment, UserBillingAddress + +from .models import Cart, Order, OrderItem, Payment, UserBillingAddress + +admin.site.register(OrderItem) @admin.register(Cart) diff --git a/payments/mixins.py b/payments/mixins.py index 63553f5..8818316 100644 --- a/payments/mixins.py +++ b/payments/mixins.py @@ -74,8 +74,8 @@ def create_order_from_cart(self, user, cart): order_items = [ { - "curriculum_id": item.curriculum.id if item.curriculum else None, - "course_id": item.course.id if item.course else None, + "curriculum": item.curriculum.id if item.curriculum else None, + "course": item.course.id if item.course else None, "quantity": item.quantity, "price": item.get_price(), } diff --git a/payments/models.py b/payments/models.py index f9a97ab..e4c9cf7 100644 --- a/payments/models.py +++ b/payments/models.py @@ -1,8 +1,8 @@ +from django.conf import settings from django.db import models from django.utils import timezone -from django.conf import settings -from courses.models import Curriculum, Course +from courses.models import Course, Curriculum class Cart(models.Model): @@ -93,10 +93,10 @@ def get_price(self): return unit_price * self.quantity def get_image_url(self): - if self.curriculum and hasattr(self.curriculum, "images"): - return self.curriculum.images.url - elif self.course and hasattr(self.course, "images"): - return self.course.images.url + if self.curriculum: + return self.curriculum.image.image_url + elif self.course: + return self.course.image.image_url return None class Meta: @@ -222,10 +222,10 @@ def get_price(self): return unit_price * self.quantity def get_image_url(self): - if self.curriculum and hasattr(self.curriculum, "images"): - return self.curriculum.images.url - elif self.course and hasattr(self.course, "images"): - return self.course.images.url + if self.curriculum: + return self.curriculum.image.image_url + elif self.course: + return self.course.image.image_url return None def set_expiry_date(self): diff --git a/payments/serializers.py b/payments/serializers.py index a5d5870..f72da71 100644 --- a/payments/serializers.py +++ b/payments/serializers.py @@ -75,6 +75,8 @@ class OrderItemSerializer(serializers.ModelSerializer): 주문 상품 모델의 시리얼라이저입니다. """ + thumbnail = serializers.SerializerMethodField() + class Meta: model = OrderItem fields = [ @@ -89,14 +91,22 @@ class Meta: "get_item_name", "get_price", "get_image_url", + "thumbnail", ] read_only_fields = [ "id", "quantity", "created_at", "updated_at", + "thumbnail", ] + def get_thumbnail(self, obj): + if obj.curriculum: + return obj.curriculum.image.image_url + if obj.course: + return obj.course.image.image_url + def validate(self, data): # 커리큘럼과 코스 중 하나만 선택되었는지 확인합니다. # curriculum = data.get("curriculum") diff --git a/weaverse/settings.py b/weaverse/settings.py index e87f7ba..21f61f7 100644 --- a/weaverse/settings.py +++ b/weaverse/settings.py @@ -149,13 +149,8 @@ ] # CORS 설정 -if DEBUG: - CORS_ALLOWED_ORIGINS = [ - "https://www.weaverse.site", # 프로덕션 환경 - "http://localhost:3000", # 개발 환경 프론트엔드 - ] -else: - CORS_ALLOWED_ORIGINS = os.getenv("CORS_ALLOWED_ORIGINS", "").split(",") + +CORS_ALLOWED_ORIGINS = os.getenv("CORS_ALLOWED_ORIGINS", "").split(",") DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" From b93b412eededb1461465ad68385004dea270f640 Mon Sep 17 00:00:00 2001 From: nathanLYJ Date: Mon, 14 Oct 2024 11:07:12 +0900 Subject: [PATCH 15/22] =?UTF-8?q?Refactor:=20=EC=86=8C=EC=85=9C=EB=A1=9C?= =?UTF-8?q?=EA=B7=B8=EC=9D=B8=20=EC=84=A4=EC=A0=95=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- weaverse/settings.py | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/weaverse/settings.py b/weaverse/settings.py index e87f7ba..0741d9a 100644 --- a/weaverse/settings.py +++ b/weaverse/settings.py @@ -206,35 +206,16 @@ "key": "", }, }, - "kakao": { - "SCOPE": [ - "profile", - "account_email", - ], - "APP": { - "client_id": os.getenv("SOCIAL_AUTH_KAKAO_CLIENT_ID"), - "secret": "", - "key": "", - }, - }, } - - ACCOUNT_USER_MODEL_USERNAME_FIELD = None ACCOUNT_AUTHENTICATION_METHOD = "email" ACCOUNT_EMAIL_REQUIRED = True ACCOUNT_USERNAME_REQUIRED = False - -REST_USE_JWT = True -JWT_AUTH_COOKIE = "my-app-auth" -JWT_AUTH_REFRESH_COOKIE = "my-refresh-token" - -GOOGLE_CALLBACK_URL = "https://www.weaverse.site/social-login/google/" - -SOCIAL_AUTH_KAKAO_KEY = os.getenv("SOCIAL_AUTH_KAKAO_KEY") +GOOGLE_CALLBACK_URL = "https://www.weaverse.site/api/social-login/google/callback/" REDIRECT_URL = "https://www.weaverse.site" LOGIN_REDIRECT_URL = os.getenv("LOGIN_REDIRECT_URL", "/") LOGOUT_REDIRECT_URL = "/" + MEDIA_URL = f"https://{AWS_S3_CUSTOM_DOMAIN}/" From da58b81f98462d0f628add432bedd765e5a9c394 Mon Sep 17 00:00:00 2001 From: nathanLYJ Date: Mon, 14 Oct 2024 11:07:32 +0900 Subject: [PATCH 16/22] =?UTF-8?q?feat:=20=20=EA=B5=AC=EA=B8=80=20=EC=82=AC?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8=20=ED=86=B5=ED=95=B4=EC=84=9C=20=EB=A1=9C?= =?UTF-8?q?=EA=B7=B8=EC=9D=B8,=20=EC=82=AC=EC=9A=A9=EC=9E=90=20=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=20=EC=B2=98=EB=A6=AC,=20=ED=9A=8C=EC=9B=90=EA=B0=80?= =?UTF-8?q?=EC=9E=85=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jwtauth/views.py | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/jwtauth/views.py b/jwtauth/views.py index c3e55d6..1391dcb 100644 --- a/jwtauth/views.py +++ b/jwtauth/views.py @@ -1,5 +1,4 @@ import logging - import jwt from allauth.socialaccount.providers.google.views import GoogleOAuth2Adapter from allauth.socialaccount.providers.oauth2.client import OAuth2Client @@ -170,19 +169,46 @@ class GoogleLogin(SocialLoginView): callback_url = settings.GOOGLE_CALLBACK_URL client_class = OAuth2Client + def get(self, request, *args, **kwargs): + """ + GET 요청: 구글 로그인 페이지로 리다이렉트 + """ + return super().get(request, *args, **kwargs) + def get_response(self): + """ + 소셜 로그인 완료 후 사용자 정보 처리 + """ response = super().get_response() + user = self.user + + if not User.objects.filter(email=user.email).exists(): + user = User.objects.create_user( + nickname=user.mail.split("@")[0], + email=user.email, + ) + user.set_unusable_password() + user.save() + access_token = generate_access_token(user) refresh_token = generate_refresh_token(user) + response = redirect(settings.LOGIN_REDIRECT_URL) + same_site = None if settings.DEBUG else "Lax" response.set_cookie( key="refresh_token", value=refresh_token, httponly=True, secure=not settings.DEBUG, - samesite="None", + samesite=same_site, + max_age=60 * 60 * 24 * 14, + ) + response.set_cookie( + key="access_token", + value=access_token, + secure=not settings.DEBUG, + samesite=same_site, + max_age=60 * 30, ) - response.data = {"access_token": access_token} - return response From 2d77ee180b386f2e1a431dc1f07204594405f273 Mon Sep 17 00:00:00 2001 From: nathanLYJ Date: Mon, 14 Oct 2024 11:10:43 +0900 Subject: [PATCH 17/22] =?UTF-8?q?feat:=20=EA=B5=AC=EA=B8=80=20=EB=A1=9C?= =?UTF-8?q?=EA=B7=B8=EC=9D=B8=20=EC=A3=BC=EC=84=9D=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jwtauth/views.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/jwtauth/views.py b/jwtauth/views.py index 1391dcb..37a7395 100644 --- a/jwtauth/views.py +++ b/jwtauth/views.py @@ -165,6 +165,13 @@ def post(self, request): class GoogleLogin(SocialLoginView): + """ + 사용자가 구글 로그인을 할 때 사용, 구글 로그인을 위한 소셜 로그인 뷰입니다. + 사용자가 구글사이트에서 로그인을 완료하면, 사용자 정보를 받아서 회원가입 또는 로그인 처리합니다. + 닉네임은 이메일 주소의 @ 앞부분을 사용하고, 비밀번호는 사용하지 않습니다. + 쿠기에 리프레시 토큰과 액세스 토큰을 저장합니다. + """ + adapter_class = GoogleOAuth2Adapter callback_url = settings.GOOGLE_CALLBACK_URL client_class = OAuth2Client From ba019847af6134cdae89b9877d0a76e8876d37be Mon Sep 17 00:00:00 2001 From: nathanLYJ Date: Mon, 14 Oct 2024 14:06:32 +0900 Subject: [PATCH 18/22] =?UTF-8?q?refactor:=20readme=20=EB=A1=9C=EA=B3=A0?= =?UTF-8?q?=EC=B6=94=EA=B0=80,=20=ED=8C=80=EA=B5=AC=EC=84=B1,=20=EA=B8=B0?= =?UTF-8?q?=EC=88=A0=EC=8A=A4=ED=83=9D,=20API=20=EC=97=94=EB=8D=94?= =?UTF-8?q?=ED=8F=AC=EC=9D=B8=ED=8A=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 324 +++++++++++++++++++++++++++--------------------------- 1 file changed, 164 insertions(+), 160 deletions(-) diff --git a/README.md b/README.md index 06c46af..209d85d 100644 --- a/README.md +++ b/README.md @@ -1,216 +1,220 @@ # WEAVERSE 프로젝트 +로고 + WEAVERSE는 온라인 영상 교육 플랫폼을 구현하기 위한 프로젝트입니다. ## 팀 구성 -| 이름 | 유원길 | 임홍광 | 이유정 | -| ------ | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -| GitHub | [![1](https://avatars.githubusercontent.com/u/170212442?v=4&size=100)](https://github.com/nathanLYJ) | [![2](https://avatars.githubusercontent.com/u/99056666?v=4&size=100)](https://github.com/AlbertImKr) | [Avatar](https://github.com/devnproyj22) | -| 역할 | 팀원 | 팀원 | 팀장 | -| 담당 | 인증,인가 | Course,Mission | 사용자,이미지,비디오 | +| 이름 | 유원길 | 임홍광 | 이유정 | 유연우 | +|------|--------|--------|--------|--------| +| GitHub | 유원길 |임홍광 | 이유정 | 유연우| +| 역할 | 팀원 | 팀원 | 팀장 | 팀원 | +| 담당 | 인증,인가 | Course,Mission | 사용자,이미지,비디오 | payments, Cart, Order | ## 기술 스택 ### 언어 - ![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54) -### 프레임워크 & third party 라이브러리 - +### 프레임워크 & 주요 라이브러리 ![Django](https://img.shields.io/badge/django-%23092E20.svg?style=for-the-badge&logo=django&logoColor=white) ![DjangoREST](https://img.shields.io/badge/DJANGO-REST-ff1709?style=for-the-badge&logo=django&logoColor=white&color=ff1709&labelColor=gray) +![dj-rest-auth](https://img.shields.io/badge/dj--rest--auth-6.0.0-blue?style=for-the-badge) +![django-allauth](https://img.shields.io/badge/django--allauth-65.0.2-yellow?style=for-the-badge) -### 문서 - -![Swagger](https://img.shields.io/badge/-Swagger-%23Clojure?style=for-the-badge&logo=swagger&logoColor=white) - -## Local 실행 방법 - -1. DB설치(docker 실행) - -```shell -docker compose up -d -``` - -2. 환경 변수 파일 추가 (.env 파일) - -``` -# SECRET_KEY -SECRET_KEY='django-insecure-da0mi_044pv-vs7-gpw8qb6t8=2czy@^er34_1^d' -# DEBUG -DEBUG=True -# DATABASE -DATABASE_ENGINE='django.db.backends.postgresql' -DATABASE_NAME='postgres' -DATABASE_USER='postgres' -DATABASE_PASSWORD='postgres' -DATABASE_HOST='localhost' -DATABASE_PORT='5432' -# ALLOWED_HOSTS -ALLOWED_HOSTS='*' -``` - -3. `pyenv`설치 및 활성화 - -```shell -# 가상환경 설치 -python3 -m venv .venv -# 활성화 -# 윈도우즈 -.venv\Scripts\activate - -# mac & linux -source .venv/bin/activate -``` +### 데이터베이스 +![PostgreSQL](https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge&logo=postgresql&logoColor=white) -또는 +### 클라우드 & 스토리지 +![AWS](https://img.shields.io/badge/AWS-FF9900?style=for-the-badge&logo=amazonaws&logoColor=white) +![S3](https://img.shields.io/badge/S3-569A31?style=for-the-badge&logo=amazon-s3&logoColor=white) -```shell -# 가상환경 설치 -python -m venv venv -# 활성화 -source venv/bin/activate -``` - -4. 필요한 패키지 설치 - -``` -pip install -r requirements.txt -``` - -5. DB 마이그레이션 - -```shell -python manage.py migrate -``` +### 문서화 +![Swagger](https://img.shields.io/badge/-Swagger-%23Clojure?style=for-the-badge&logo=swagger&logoColor=white) +![drf-spectacular](https://img.shields.io/badge/drf--spectacular-0.27.2-green?style=for-the-badge) -6. 서버 실행 +### 테스팅 +![Pytest](https://img.shields.io/badge/pytest-8.3.3-0A9EDC?style=for-the-badge&logo=pytest&logoColor=white) -```shell -python manage.py runserver -``` +### 기타 주요 라이브러리 +- django-cors-headers +- django-filter +- Pillow (이미지 처리) +- moviepy, ffmpeg-python (비디오 처리) +- gunicorn (WSGI HTTP 서버) ## API 구조 -- 사용자 인증: ✅ -- 관리자 인증: 💻 -- 오너 인증: 📦 - ### 인증 (Auth) -| 엔드포인트 | 메서드 | 설명 | 인증 | -| -------------- | ------ | ---------------------------------------- | ---- | -| `/api/login/` | `POST` | 사용자가 로그인하고 토큰을 발급받습니다. | | -| `/api/logout/` | `POST` | 사용자가 로그아웃합니다. | | +| 엔드포인트 | 메서드 | 설명 | 인증 필요 | +|---------------------------|--------|-----------------------------------------------|---------| +| `/api/login/` | `POST` | 사용자가 로그인하고 토큰을 발급받습니다. | 불필요 | +| `/api/logout/` | `POST` | 사용자가 로그아웃합니다. | 필요 | +| `/api/refresh/` | `POST` | 사용자가 Refresh 토큰으로 새 토큰을 발급받습니다. | 불필요 | +| `/api/social-login/google/`| `GET` | 사용자를 Google 로그인 페이지로 리다이렉트합니다. | 불필요 | +| `/api/social-login/google/`| `POST` | Google 인증 후 사용자 정보를 받아 로그인 또는 회원가입 처리합니다. | 불필요 | ### 사용자 (CustomUser) -#### 수강생 +#### 수강생 (Student) + +| 엔드포인트 | 메서드 | 설명 | 인증 필요 | +|------------|--------|------|----------| +| `/api/accounts/student/register/` | `POST` | 새로운 수강생을 생성합니다. (회원가입) | 불필요 | +| `/api/accounts/students/` | `GET` | 수강생 목록을 조회합니다. | 필요 | +| `/api/accounts/students/{id}/` | `GET` | 수강생 정보를 조회합니다. | 필요 | +| `/api/accounts/students/{id}/` | `PUT` | 수강생 정보를 수정합니다. | 필요 | +| `/api/accounts/students/{id}/` | `PATCH` | 수강생 정보를 부분 수정합니다. | 필요 | +| `/api/accounts/students/{id}/` | `DELETE` | 수강생이 탈퇴합니다. (소프트 삭제) | 필요 | -| 엔드포인트 | 메서드 | 설명 | 인증 | -| -------------------- | -------- | --------------------------- | -------- | -| `/api/users/` | `GET` | 수강생 목록을 조회합니다. | 💻 | -| `/api/users/` | `POST` | 새로운 수강생을 생성합니다. | | -| `/api/users/{id}` | `GET` | 수강생 정보를 조회합니다. | ✅,💻,📦 | -| `/api/users/{id}` | `PUT` | 수강생 정보를 수정합니다. | 📦 | -| `/api/users/{id}` | `DELETE` | 수강생가 탈퇴합니다. | 📦 | -| `/api/users/counts/` | `GET` | 총 수강생 수를 조회합니다. | 📦 | +#### 강사 (Tutor) -#### 강사진 +| 엔드포인트 | 메서드 | 설명 | 인증 필요 | +|------------|--------|------|----------| +| `/api/accounts/tutors/` | `GET` | 강사 목록을 조회합니다. | 필요 | +| `/api/accounts/tutors/{id}/` | `GET` | 강사 정보를 조회합니다. | 필요 | +| `/api/accounts/tutors/{id}/` | `PUT` | 강사 정보를 수정합니다. | 필요 | +| `/api/accounts/tutors/{id}/` | `PATCH` | 강사 정보를 부분 수정합니다. | 필요 | +| `/api/accounts/tutors/{id}/` | `DELETE` | 강사를 삭제합니다. (소프트 삭제) | 필요 | -| 엔드포인트 | 메서드 | 설명 | 인증 | -| ---------------- | ------ | --------------------------- | ---- | -| `/api/managers/` | `GET` | 관리자 목록을 조회합니다. | 📦 | -| `/api/managers/` | `POST` | 새로운 관리자를 생성합니다. | | +#### 공통 + +| 엔드포인트 | 메서드 | 설명 | 인증 필요 | +|------------|--------|------|----------| +| `/api/accounts/password/reset/` | `POST` | 비밀번호를 재설정합니다. | 필요 | ### 이미지 (Image) -| 엔드포인트 | 메서드 | 설명 | 인증 | -| --------------------------------- | -------- | -------------------------------------- | ---- | -| `/api/managers/{id}/images/` | `POST` | 매니저가 새로운 이미지를 업로드합니다. | 📦 | -| `/api/managers/{id}/images/` | `GET` | 매니저의 모든 이미지를 가져옵니다. | 📦 | -| `/api/managers/{id}/images/{id}/` | `GET` | 매니저의 특정 이미지를 조회합니다. | 📦 | -| `/api/managers/{id}/images/{id}/` | `DELETE` | 매니저의 특정 이미지를 삭제합니다. | 📦 | +| 엔드포인트 | 메서드 | 설명 | 인증 필요 | +|------------|--------|------|----------| +| `/api/materials/images/upload/` | `POST` | 새로운 이미지를 업로드합니다. | 필요 | +| `/api/materials/images/` | `GET` | 모든 이미지를 가져옵니다. | 필요 | +| `/api/materials/images/` | `POST` | 새로운 이미지를 생성합니다. | 필요 | +| `/api/materials/images/{id}/` | `GET` | 특정 이미지를 조회합니다. | 필요 | +| `/api/materials/images/{id}/` | `PUT` | 특정 이미지를 수정합니다. | 필요 | +| `/api/materials/images/{id}/` | `DELETE` | 특정 이미지를 삭제합니다. | 필요 | ### 비디오 (Video) -| 엔드포인트 | 메서드 | 설명 | 인증 | -| ------------------- | -------- | ----------------------------- | ---- | -| `/api/videos/` | `POST` | 새로운 비디오를 업로드합니다. | 📦 | -| `/api/videos/` | `GET` | 모든 비디오를 가져옵니다. | 📦 | -| `/api/videos/{id}/` | `GET` | 특정 비디오를 조회합니다. | 📦 | -| `/api/videos/{id}/` | `DELETE` | 특정 비디오를 삭제합니다. | 📦 | +| 엔드포인트 | 메서드 | 설명 | 인증 필요 | +|------------|--------|------|----------| +| `/api/materials/videos/upload/` | `POST` | 새로운 비디오를 업로드합니다. | 필요 | +| `/api/materials/videos/` | `GET` | 모든 비디오를 가져옵니다. | 필요 | +| `/api/materials/videos/` | `POST` | 새로운 비디오를 생성합니다. | 필요 | +| `/api/materials/videos/{id}/` | `GET` | 특정 비디오를 조회합니다. | 필요 | +| `/api/materials/videos/{id}/` | `PUT` | 특정 비디오를 수정합니다. | 필요 | +| `/api/materials/videos/{id}/` | `DELETE` | 특정 비디오를 삭제합니다. | 필요 | -### 특정 영상의 시청 기록 (Watch History for Specific Video) +### 비디오 이벤트 데이터 (Video Event Data) -| 엔드포인트 | 메서드 | 설명 | 인증 | -| ----------------------------------------------------- | -------- | ---------------------------------------------------------- | ----- | -| `/api/users/{userId}/videos/{videoId}/watch-history/` | `PUT` | 특정 영상의 시청 기록에 새 시청 기록을 추가합니다. | 📦,💻 | -| `/api/users/{userId}/videos/{videoId}/watch-history/` | `DELETE` | 특정 영상의 시청 기록에서 특정 사용자의 기록을 삭제합니다. | 📦,💻 | +| 엔드포인트 | 메서드 | 설명 | 인증 필요 | +|------------|--------|------|----------| +| `/api/materials/video-event-data/` | `POST` | 새로운 비디오 이벤트 데이터를 생성합니다. | 필요 | +| `/api/materials/users/{user_id}/videos/{video_id}/watch-history/` | `GET` | 특정 사용자의 특정 비디오 시청 기록을 조회합니다. | 필요 | ### 과목 (Course) -| 엔드포인트 | 메서드 | 설명 | 인증 | -| ----------------------------- | -------- | -------------------------------- | ----- | -| `/api/courses/` | `POST` | 새로운 과목을 생성합니다. | 💻 | -| `/api/courses/{id}` | `GET` | 특정 과목 정보를 조회합니다. | ✅,💻 | -| `/api/courses/{id}` | `PUT` | 과목 정보를 수정합니다. | 💻 | -| `/api/courses/{id}` | `DELETE` | 특정 과목을 삭제합니다. | 💻 | -| `/api/courses/` | `GET` | 모든 과목 목록을 조회합니다. | ✅ | -| `/api/courses/?name=..` | `GET` | 과목 이름으로 과목을 검색합니다. | | -| `/api/courses/counts/` | `GET` | 총 과목 개수 조회합니다. | | -| `/api/courses/?category=..` | `GET` | 카테고리로 과목을 검색합니다. | | -| `/api/courses/?skilllevel=..` | `GET` | skill level로 과목을 검색합니다. | | -| `/api/courses/?pricelevel=..` | `GET` | price level로 과목을 검색합니다. | | - -### 카테고리 (Category) - -| 엔드포인트 | 메서드 | 설명 | 인증 | -| ---------------------- | -------- | --------------------------- | ---- | -| `/api/categories/` | `GET` | 모든 카테고리를 조회합니다. | | -| `/api/categories/` | `POST` | 카테고리를 생성합니다. | 💻 | -| `/api/categories/{id}` | `GET` | 개별 카테고리를 조회합니다. | 💻 | -| `/api/categories/{id}` | `PUT` | 카테고리를 업데이트합니다. | 💻 | -| `/api/categories/{id}` | `DELETE` | 카테고리를 삭제합니다. | 💻 | - -### 커리큘럼 (**Curriculum**) - -| 엔드포인트 | 메서드 | 설명 | 인증 | -| ----------------------- | -------- | -------------------------------- | ------ | -| `/api/curriculums/` | `POST` | 새로운 커리큘럼을 생성합니다. | 💻 | -| `/api/curriculums/{id}` | `GET` | 특정 커리큘럼 정보를 조회합니다. | 💻, ✅ | -| `/api/curriculums/{id}` | `PUT` | 커리큘럼 정보를 수정합니다. | 💻 | -| `/api/curriculums/{id}` | `DELETE` | 특정 커리큘럼을 삭제합니다. | 💻 | -| `/api/curriculums/` | `GET` | 모든 커리큘럼 목록을 조회합니다. | ✅ | - -### 수료증 (Certificates) - -| 엔드포인트 | 메서드 | 설명 | 인증 | -| ------------------------------------------------------------ | -------- | ---------------------------------- | ----- | -| `/api/users/{userId}/certificates/` | `GET` | 사용자의 수료증 목록을 조회합니다. | 📦,💻 | -| `/api/users/{userId}/certificates/{certificateId}/` | `GET` | 특정 수료증 정보를 조회합니다. | 📦,💻 | -| `/api/users/{userId}/certificates/{certificateId}/download/` | `GET` | 특정 수료증을 다운로드합니다. | 📦,💻 | -| `/api/users/{userId}/certificates/` | `POST` | 사용자가 수료증을 요청합니다. | 📦 | -| `/api/users/{userId}/certificates/{certificateId}/` | `DELETE` | 특정 수료증을 삭제합니다. | 📦,💻 | - -## ERD +| 엔드포인트 | 메서드 | 설명 | 인증 필요 | +|------------|--------|------|----------| +| `/api/courses/courses/` | `GET` | 모든 과목 목록을 조회합니다. | 불필요 | +| `/api/courses/courses/` | `POST` | 새로운 과목을 생성합니다. | 필요 (staff) | +| `/api/courses/courses/{id}/` | `GET` | 특정 과목 정보를 조회합니다. | 불필요 | +| `/api/courses/courses/{id}/` | `PUT` | 과목 정보를 수정합니다. | 필요 (staff) | +| `/api/courses/courses/{id}/` | `PATCH` | 과목 정보를 부분 수정합니다. | 필요 (staff) | +| `/api/courses/courses/{id}/` | `DELETE` | 특정 과목을 삭제합니다. | 필요 (staff) | + +참고: +- 검색 기능: `title`, `short_description`, `description` 필드로 검색 가능 +- 필터링: `category`, `skill_level` 필드로 필터링 가능 +- 정렬: `created_at`, `price` 필드로 정렬 가능 + +### 커리큘럼 (Curriculum) + +| 엔드포인트 | 메서드 | 설명 | 인증 필요 | +|------------|--------|------|----------| +| `/api/courses/curriculums/` | `GET` | 모든 커리큘럼 목록을 조회합니다. | 불필요 | +| `/api/courses/curriculums/` | `POST` | 새로운 커리큘럼을 생성합니다. | 필요 (staff) | +| `/api/courses/curriculums/{id}/` | `GET` | 특정 커리큘럼 정보를 조회합니다. | 불필요 | +| `/api/courses/curriculums/{id}/` | `PUT` | 커리큘럼 정보를 수정합니다. | 필요 (staff) | +| `/api/courses/curriculums/{id}/` | `PATCH` | 커리큘럼 정보를 부분 수정합니다. | 필요 (staff) | +| `/api/courses/curriculums/{id}/` | `DELETE` | 특정 커리큘럼을 삭제합니다. | 필요 (staff) | + +참고: +- 검색 기능: `title`, `description` 필드로 검색 가능 +- 필터링: `category`, `skill_level` 필드로 필터링 가능 +- 정렬: `created_at`, `price` 필드로 정렬 가능 + +### 장바구니 (Cart) + +| 엔드포인트 | 메서드 | 설명 | 인증 필요 | +|------------|--------|------|----------| +| `/api/payments/cart/` | `GET` | 사용자의 장바구니를 조회합니다. | 필요 | +| `/api/payments/cart/` | `POST` | 장바구니에 상품을 추가합니다. | 필요 | +| `/api/payments/cart/{cart_item_id}/` | `GET` | 특정 장바구니 아이템을 조회합니다. | 필요 | +| `/api/payments/cart/{cart_item_id}/` | `DELETE` | 장바구니에서 특정 상품을 삭제합니다. | 필요 | + +### 주문 (Order) + +| 엔드포인트 | 메서드 | 설명 | 인증 필요 | +|------------|--------|------|----------| +| `/api/payments/orders/` | `GET` | 사용자의 진행 중인 주문을 조회합니다. | 필요 | +| `/api/payments/orders/` | `POST` | 새로운 주문을 생성합니다. | 필요 | + +### 청구 주소 (Billing Address) + +| 엔드포인트 | 메서드 | 설명 | 인증 필요 | +|------------|--------|------|----------| +| `/api/payments/billing-addresses/` | `GET` | 사용자의 모든 청구 주소를 조회합니다. | 필요 | +| `/api/payments/billing-addresses/` | `POST` | 새로운 청구 주소를 생성합니다. | 필요 | +| `/api/payments/billing-addresses/{billing_address_id}/` | `GET` | 특정 청구 주소를 조회합니다. | 필요 | +| `/api/payments/billing-addresses/{billing_address_id}/` | `PUT` | 특정 청구 주소를 수정합니다. | 필요 | +| `/api/payments/billing-addresses/{billing_address_id}/` | `DELETE` | 특정 청구 주소를 삭제합니다. | 필요 | + +### 결제 (Payment) + +| 엔드포인트 | 메서드 | 설명 | 인증 필요 | +|------------|--------|------|----------| +| `/api/payments/payments/` | `POST` | 결제를 생성하고 카카오페이 결제를 요청합니다. | 필요 | +| `/api/payments/payments/` | `GET` | 카카오페이 결제 결과를 처리합니다. | 필요 | +| `/api/payments/payments/{order_id}/cancel/` | `DELETE` | 결제를 취소하고 환불을 처리합니다. | 필요 | + +### 영수증 (Receipt) + +| 엔드포인트 | 메서드 | 설명 | 인증 필요 | +|------------|--------|------|----------| +| `/api/payments/receipts/` | `GET` | 사용자의 모든 영수증 목록을 조회합니다. | 필요 | +| `/api/payments/receipts/{payment_id}/` | `GET` | 특정 결제에 대한 상세 영수증 정보를 조회합니다. | 필요 | + +## ERD **수정 필요** ![erd](assets/images/erd.png) -## WBS +## WBS **수정 필요** ### 프로젝트 초기 설정 및 환경 구축 ![week0](assets/images/week0.png) -### 1주차 기능 구현 +### 1주차 기능 구현 **수정 필요** ![week1](assets/images/week1.png) -### 2주차 기능 구현 +### 2주차 기능 구현 **수정 필요** ![week2](assets/images/week2.png) -### 최종 검토 및 문서화 +### 최종 검토 및 문서화 **수정 필요** ![week3](assets/images/week3.png) + +## 문제 해결 +### ACCOUNTS + +### MATERIALS + +### JWTAUTH + +### COURSES + +### PAYMENTS From 9018fa208ba010d53ec0a6c497a28b5026426789 Mon Sep 17 00:00:00 2001 From: nathanLYJ Date: Mon, 14 Oct 2024 14:44:43 +0900 Subject: [PATCH 19/22] =?UTF-8?q?refactor:=20=EB=A1=9C=EA=B3=A0=20?= =?UTF-8?q?=ED=81=AC=EA=B8=B0=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 209d85d..075aadf 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # WEAVERSE 프로젝트 -로고 +로고 WEAVERSE는 온라인 영상 교육 플랫폼을 구현하기 위한 프로젝트입니다. From 9b7480d1b58a10dadcfd2b90e9b87a92404756bf Mon Sep 17 00:00:00 2001 From: nathanLYJ Date: Mon, 14 Oct 2024 15:11:59 +0900 Subject: [PATCH 20/22] =?UTF-8?q?fix:=20Readme=20=EB=B3=B5=EA=B5=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 326 +++++++++++++++++++++++++++--------------------------- 1 file changed, 161 insertions(+), 165 deletions(-) diff --git a/README.md b/README.md index 075aadf..8b524fd 100644 --- a/README.md +++ b/README.md @@ -1,220 +1,216 @@ # WEAVERSE 프로젝트 -로고 - WEAVERSE는 온라인 영상 교육 플랫폼을 구현하기 위한 프로젝트입니다. ## 팀 구성 -| 이름 | 유원길 | 임홍광 | 이유정 | 유연우 | -|------|--------|--------|--------|--------| -| GitHub | 유원길 |임홍광 | 이유정 | 유연우| -| 역할 | 팀원 | 팀원 | 팀장 | 팀원 | -| 담당 | 인증,인가 | Course,Mission | 사용자,이미지,비디오 | payments, Cart, Order | +| 이름 | 유원길 | 임홍광 | 이유정 | +| ------ | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| GitHub | [![1](https://avatars.githubusercontent.com/u/170212442?v=4&size=100)](https://github.com/nathanLYJ) | [![2](https://avatars.githubusercontent.com/u/99056666?v=4&size=100)](https://github.com/AlbertImKr) | [Avatar](https://github.com/devnproyj22) | +| 역할 | 팀원 | 팀원 | 팀장 | +| 담당 | 인증,인가 | Course,Mission | 사용자,이미지,비디오 | ## 기술 스택 ### 언어 + ![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54) -### 프레임워크 & 주요 라이브러리 -![Django](https://img.shields.io/badge/django-%23092E20.svg?style=for-the-badge&logo=django&logoColor=white) ![DjangoREST](https://img.shields.io/badge/DJANGO-REST-ff1709?style=for-the-badge&logo=django&logoColor=white&color=ff1709&labelColor=gray) -![dj-rest-auth](https://img.shields.io/badge/dj--rest--auth-6.0.0-blue?style=for-the-badge) -![django-allauth](https://img.shields.io/badge/django--allauth-65.0.2-yellow?style=for-the-badge) +### 프레임워크 & third party 라이브러리 -### 데이터베이스 -![PostgreSQL](https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge&logo=postgresql&logoColor=white) +![Django](https://img.shields.io/badge/django-%23092E20.svg?style=for-the-badge&logo=django&logoColor=white) ![DjangoREST](https://img.shields.io/badge/DJANGO-REST-ff1709?style=for-the-badge&logo=django&logoColor=white&color=ff1709&labelColor=gray) -### 클라우드 & 스토리지 -![AWS](https://img.shields.io/badge/AWS-FF9900?style=for-the-badge&logo=amazonaws&logoColor=white) -![S3](https://img.shields.io/badge/S3-569A31?style=for-the-badge&logo=amazon-s3&logoColor=white) +### 문서 -### 문서화 ![Swagger](https://img.shields.io/badge/-Swagger-%23Clojure?style=for-the-badge&logo=swagger&logoColor=white) -![drf-spectacular](https://img.shields.io/badge/drf--spectacular-0.27.2-green?style=for-the-badge) -### 테스팅 -![Pytest](https://img.shields.io/badge/pytest-8.3.3-0A9EDC?style=for-the-badge&logo=pytest&logoColor=white) +## Local 실행 방법 + +1. DB설치(docker 실행) + +```shell +docker compose up -d +``` + +2. 환경 변수 파일 추가 (.env 파일) + +``` +# SECRET_KEY +SECRET_KEY='django-insecure-da0mi_044pv-vs7-gpw8qb6t8=2czy@^er34_1^d' +# DEBUG +DEBUG=True +# DATABASE +DATABASE_ENGINE='django.db.backends.postgresql' +DATABASE_NAME='postgres' +DATABASE_USER='postgres' +DATABASE_PASSWORD='postgres' +DATABASE_HOST='localhost' +DATABASE_PORT='5432' +# ALLOWED_HOSTS +ALLOWED_HOSTS='*' +``` + +3. `pyenv`설치 및 활성화 + +```shell +# 가상환경 설치 +python3 -m venv .venv +# 활성화 +# 윈도우즈 +.venv\Scripts\activate + +# mac & linux +source .venv/bin/activate +``` + +또는 + +```shell +# 가상환경 설치 +python -m venv venv +# 활성화 +source venv/bin/activate +``` -### 기타 주요 라이브러리 -- django-cors-headers -- django-filter -- Pillow (이미지 처리) -- moviepy, ffmpeg-python (비디오 처리) -- gunicorn (WSGI HTTP 서버) +4. 필요한 패키지 설치 + +``` +pip install -r requirements.txt +``` + +5. DB 마이그레이션 + +```shell +python manage.py migrate +``` + +6. 서버 실행 + +```shell +python manage.py runserver +``` ## API 구조 +- 사용자 인증: ✅ +- 관리자 인증: 💻 +- 오너 인증: 📦 + ### 인증 (Auth) -| 엔드포인트 | 메서드 | 설명 | 인증 필요 | -|---------------------------|--------|-----------------------------------------------|---------| -| `/api/login/` | `POST` | 사용자가 로그인하고 토큰을 발급받습니다. | 불필요 | -| `/api/logout/` | `POST` | 사용자가 로그아웃합니다. | 필요 | -| `/api/refresh/` | `POST` | 사용자가 Refresh 토큰으로 새 토큰을 발급받습니다. | 불필요 | -| `/api/social-login/google/`| `GET` | 사용자를 Google 로그인 페이지로 리다이렉트합니다. | 불필요 | -| `/api/social-login/google/`| `POST` | Google 인증 후 사용자 정보를 받아 로그인 또는 회원가입 처리합니다. | 불필요 | +| 엔드포인트 | 메서드 | 설명 | 인증 | +| -------------- | ------ | ---------------------------------------- | ---- | +| `/api/login/` | `POST` | 사용자가 로그인하고 토큰을 발급받습니다. | | +| `/api/logout/` | `POST` | 사용자가 로그아웃합니다. | | ### 사용자 (CustomUser) -#### 수강생 (Student) - -| 엔드포인트 | 메서드 | 설명 | 인증 필요 | -|------------|--------|------|----------| -| `/api/accounts/student/register/` | `POST` | 새로운 수강생을 생성합니다. (회원가입) | 불필요 | -| `/api/accounts/students/` | `GET` | 수강생 목록을 조회합니다. | 필요 | -| `/api/accounts/students/{id}/` | `GET` | 수강생 정보를 조회합니다. | 필요 | -| `/api/accounts/students/{id}/` | `PUT` | 수강생 정보를 수정합니다. | 필요 | -| `/api/accounts/students/{id}/` | `PATCH` | 수강생 정보를 부분 수정합니다. | 필요 | -| `/api/accounts/students/{id}/` | `DELETE` | 수강생이 탈퇴합니다. (소프트 삭제) | 필요 | +#### 수강생 -#### 강사 (Tutor) +| 엔드포인트 | 메서드 | 설명 | 인증 | +| -------------------- | -------- | --------------------------- | -------- | +| `/api/users/` | `GET` | 수강생 목록을 조회합니다. | 💻 | +| `/api/users/` | `POST` | 새로운 수강생을 생성합니다. | | +| `/api/users/{id}` | `GET` | 수강생 정보를 조회합니다. | ✅,💻,📦 | +| `/api/users/{id}` | `PUT` | 수강생 정보를 수정합니다. | 📦 | +| `/api/users/{id}` | `DELETE` | 수강생가 탈퇴합니다. | 📦 | +| `/api/users/counts/` | `GET` | 총 수강생 수를 조회합니다. | 📦 | -| 엔드포인트 | 메서드 | 설명 | 인증 필요 | -|------------|--------|------|----------| -| `/api/accounts/tutors/` | `GET` | 강사 목록을 조회합니다. | 필요 | -| `/api/accounts/tutors/{id}/` | `GET` | 강사 정보를 조회합니다. | 필요 | -| `/api/accounts/tutors/{id}/` | `PUT` | 강사 정보를 수정합니다. | 필요 | -| `/api/accounts/tutors/{id}/` | `PATCH` | 강사 정보를 부분 수정합니다. | 필요 | -| `/api/accounts/tutors/{id}/` | `DELETE` | 강사를 삭제합니다. (소프트 삭제) | 필요 | +#### 강사진 -#### 공통 - -| 엔드포인트 | 메서드 | 설명 | 인증 필요 | -|------------|--------|------|----------| -| `/api/accounts/password/reset/` | `POST` | 비밀번호를 재설정합니다. | 필요 | +| 엔드포인트 | 메서드 | 설명 | 인증 | +| ---------------- | ------ | --------------------------- | ---- | +| `/api/managers/` | `GET` | 관리자 목록을 조회합니다. | 📦 | +| `/api/managers/` | `POST` | 새로운 관리자를 생성합니다. | | ### 이미지 (Image) -| 엔드포인트 | 메서드 | 설명 | 인증 필요 | -|------------|--------|------|----------| -| `/api/materials/images/upload/` | `POST` | 새로운 이미지를 업로드합니다. | 필요 | -| `/api/materials/images/` | `GET` | 모든 이미지를 가져옵니다. | 필요 | -| `/api/materials/images/` | `POST` | 새로운 이미지를 생성합니다. | 필요 | -| `/api/materials/images/{id}/` | `GET` | 특정 이미지를 조회합니다. | 필요 | -| `/api/materials/images/{id}/` | `PUT` | 특정 이미지를 수정합니다. | 필요 | -| `/api/materials/images/{id}/` | `DELETE` | 특정 이미지를 삭제합니다. | 필요 | +| 엔드포인트 | 메서드 | 설명 | 인증 | +| --------------------------------- | -------- | -------------------------------------- | ---- | +| `/api/managers/{id}/images/` | `POST` | 매니저가 새로운 이미지를 업로드합니다. | 📦 | +| `/api/managers/{id}/images/` | `GET` | 매니저의 모든 이미지를 가져옵니다. | 📦 | +| `/api/managers/{id}/images/{id}/` | `GET` | 매니저의 특정 이미지를 조회합니다. | 📦 | +| `/api/managers/{id}/images/{id}/` | `DELETE` | 매니저의 특정 이미지를 삭제합니다. | 📦 | ### 비디오 (Video) -| 엔드포인트 | 메서드 | 설명 | 인증 필요 | -|------------|--------|------|----------| -| `/api/materials/videos/upload/` | `POST` | 새로운 비디오를 업로드합니다. | 필요 | -| `/api/materials/videos/` | `GET` | 모든 비디오를 가져옵니다. | 필요 | -| `/api/materials/videos/` | `POST` | 새로운 비디오를 생성합니다. | 필요 | -| `/api/materials/videos/{id}/` | `GET` | 특정 비디오를 조회합니다. | 필요 | -| `/api/materials/videos/{id}/` | `PUT` | 특정 비디오를 수정합니다. | 필요 | -| `/api/materials/videos/{id}/` | `DELETE` | 특정 비디오를 삭제합니다. | 필요 | +| 엔드포인트 | 메서드 | 설명 | 인증 | +| ------------------- | -------- | ----------------------------- | ---- | +| `/api/videos/` | `POST` | 새로운 비디오를 업로드합니다. | 📦 | +| `/api/videos/` | `GET` | 모든 비디오를 가져옵니다. | 📦 | +| `/api/videos/{id}/` | `GET` | 특정 비디오를 조회합니다. | 📦 | +| `/api/videos/{id}/` | `DELETE` | 특정 비디오를 삭제합니다. | 📦 | -### 비디오 이벤트 데이터 (Video Event Data) +### 특정 영상의 시청 기록 (Watch History for Specific Video) -| 엔드포인트 | 메서드 | 설명 | 인증 필요 | -|------------|--------|------|----------| -| `/api/materials/video-event-data/` | `POST` | 새로운 비디오 이벤트 데이터를 생성합니다. | 필요 | -| `/api/materials/users/{user_id}/videos/{video_id}/watch-history/` | `GET` | 특정 사용자의 특정 비디오 시청 기록을 조회합니다. | 필요 | +| 엔드포인트 | 메서드 | 설명 | 인증 | +| ----------------------------------------------------- | -------- | ---------------------------------------------------------- | ----- | +| `/api/users/{userId}/videos/{videoId}/watch-history/` | `PUT` | 특정 영상의 시청 기록에 새 시청 기록을 추가합니다. | 📦,💻 | +| `/api/users/{userId}/videos/{videoId}/watch-history/` | `DELETE` | 특정 영상의 시청 기록에서 특정 사용자의 기록을 삭제합니다. | 📦,💻 | ### 과목 (Course) -| 엔드포인트 | 메서드 | 설명 | 인증 필요 | -|------------|--------|------|----------| -| `/api/courses/courses/` | `GET` | 모든 과목 목록을 조회합니다. | 불필요 | -| `/api/courses/courses/` | `POST` | 새로운 과목을 생성합니다. | 필요 (staff) | -| `/api/courses/courses/{id}/` | `GET` | 특정 과목 정보를 조회합니다. | 불필요 | -| `/api/courses/courses/{id}/` | `PUT` | 과목 정보를 수정합니다. | 필요 (staff) | -| `/api/courses/courses/{id}/` | `PATCH` | 과목 정보를 부분 수정합니다. | 필요 (staff) | -| `/api/courses/courses/{id}/` | `DELETE` | 특정 과목을 삭제합니다. | 필요 (staff) | - -참고: -- 검색 기능: `title`, `short_description`, `description` 필드로 검색 가능 -- 필터링: `category`, `skill_level` 필드로 필터링 가능 -- 정렬: `created_at`, `price` 필드로 정렬 가능 - -### 커리큘럼 (Curriculum) - -| 엔드포인트 | 메서드 | 설명 | 인증 필요 | -|------------|--------|------|----------| -| `/api/courses/curriculums/` | `GET` | 모든 커리큘럼 목록을 조회합니다. | 불필요 | -| `/api/courses/curriculums/` | `POST` | 새로운 커리큘럼을 생성합니다. | 필요 (staff) | -| `/api/courses/curriculums/{id}/` | `GET` | 특정 커리큘럼 정보를 조회합니다. | 불필요 | -| `/api/courses/curriculums/{id}/` | `PUT` | 커리큘럼 정보를 수정합니다. | 필요 (staff) | -| `/api/courses/curriculums/{id}/` | `PATCH` | 커리큘럼 정보를 부분 수정합니다. | 필요 (staff) | -| `/api/courses/curriculums/{id}/` | `DELETE` | 특정 커리큘럼을 삭제합니다. | 필요 (staff) | - -참고: -- 검색 기능: `title`, `description` 필드로 검색 가능 -- 필터링: `category`, `skill_level` 필드로 필터링 가능 -- 정렬: `created_at`, `price` 필드로 정렬 가능 - -### 장바구니 (Cart) - -| 엔드포인트 | 메서드 | 설명 | 인증 필요 | -|------------|--------|------|----------| -| `/api/payments/cart/` | `GET` | 사용자의 장바구니를 조회합니다. | 필요 | -| `/api/payments/cart/` | `POST` | 장바구니에 상품을 추가합니다. | 필요 | -| `/api/payments/cart/{cart_item_id}/` | `GET` | 특정 장바구니 아이템을 조회합니다. | 필요 | -| `/api/payments/cart/{cart_item_id}/` | `DELETE` | 장바구니에서 특정 상품을 삭제합니다. | 필요 | - -### 주문 (Order) - -| 엔드포인트 | 메서드 | 설명 | 인증 필요 | -|------------|--------|------|----------| -| `/api/payments/orders/` | `GET` | 사용자의 진행 중인 주문을 조회합니다. | 필요 | -| `/api/payments/orders/` | `POST` | 새로운 주문을 생성합니다. | 필요 | - -### 청구 주소 (Billing Address) - -| 엔드포인트 | 메서드 | 설명 | 인증 필요 | -|------------|--------|------|----------| -| `/api/payments/billing-addresses/` | `GET` | 사용자의 모든 청구 주소를 조회합니다. | 필요 | -| `/api/payments/billing-addresses/` | `POST` | 새로운 청구 주소를 생성합니다. | 필요 | -| `/api/payments/billing-addresses/{billing_address_id}/` | `GET` | 특정 청구 주소를 조회합니다. | 필요 | -| `/api/payments/billing-addresses/{billing_address_id}/` | `PUT` | 특정 청구 주소를 수정합니다. | 필요 | -| `/api/payments/billing-addresses/{billing_address_id}/` | `DELETE` | 특정 청구 주소를 삭제합니다. | 필요 | - -### 결제 (Payment) - -| 엔드포인트 | 메서드 | 설명 | 인증 필요 | -|------------|--------|------|----------| -| `/api/payments/payments/` | `POST` | 결제를 생성하고 카카오페이 결제를 요청합니다. | 필요 | -| `/api/payments/payments/` | `GET` | 카카오페이 결제 결과를 처리합니다. | 필요 | -| `/api/payments/payments/{order_id}/cancel/` | `DELETE` | 결제를 취소하고 환불을 처리합니다. | 필요 | - -### 영수증 (Receipt) - -| 엔드포인트 | 메서드 | 설명 | 인증 필요 | -|------------|--------|------|----------| -| `/api/payments/receipts/` | `GET` | 사용자의 모든 영수증 목록을 조회합니다. | 필요 | -| `/api/payments/receipts/{payment_id}/` | `GET` | 특정 결제에 대한 상세 영수증 정보를 조회합니다. | 필요 | - -## ERD **수정 필요** +| 엔드포인트 | 메서드 | 설명 | 인증 | +| ----------------------------- | -------- | -------------------------------- | ----- | +| `/api/courses/` | `POST` | 새로운 과목을 생성합니다. | 💻 | +| `/api/courses/{id}` | `GET` | 특정 과목 정보를 조회합니다. | ✅,💻 | +| `/api/courses/{id}` | `PUT` | 과목 정보를 수정합니다. | 💻 | +| `/api/courses/{id}` | `DELETE` | 특정 과목을 삭제합니다. | 💻 | +| `/api/courses/` | `GET` | 모든 과목 목록을 조회합니다. | ✅ | +| `/api/courses/?name=..` | `GET` | 과목 이름으로 과목을 검색합니다. | | +| `/api/courses/counts/` | `GET` | 총 과목 개수 조회합니다. | | +| `/api/courses/?category=..` | `GET` | 카테고리로 과목을 검색합니다. | | +| `/api/courses/?skilllevel=..` | `GET` | skill level로 과목을 검색합니다. | | +| `/api/courses/?pricelevel=..` | `GET` | price level로 과목을 검색합니다. | | + +### 카테고리 (Category) + +| 엔드포인트 | 메서드 | 설명 | 인증 | +| ---------------------- | -------- | --------------------------- | ---- | +| `/api/categories/` | `GET` | 모든 카테고리를 조회합니다. | | +| `/api/categories/` | `POST` | 카테고리를 생성합니다. | 💻 | +| `/api/categories/{id}` | `GET` | 개별 카테고리를 조회합니다. | 💻 | +| `/api/categories/{id}` | `PUT` | 카테고리를 업데이트합니다. | 💻 | +| `/api/categories/{id}` | `DELETE` | 카테고리를 삭제합니다. | 💻 | + +### 커리큘럼 (**Curriculum**) + +| 엔드포인트 | 메서드 | 설명 | 인증 | +| ----------------------- | -------- | -------------------------------- | ------ | +| `/api/curriculums/` | `POST` | 새로운 커리큘럼을 생성합니다. | 💻 | +| `/api/curriculums/{id}` | `GET` | 특정 커리큘럼 정보를 조회합니다. | 💻, ✅ | +| `/api/curriculums/{id}` | `PUT` | 커리큘럼 정보를 수정합니다. | 💻 | +| `/api/curriculums/{id}` | `DELETE` | 특정 커리큘럼을 삭제합니다. | 💻 | +| `/api/curriculums/` | `GET` | 모든 커리큘럼 목록을 조회합니다. | ✅ | + +### 수료증 (Certificates) + +| 엔드포인트 | 메서드 | 설명 | 인증 | +| ------------------------------------------------------------ | -------- | ---------------------------------- | ----- | +| `/api/users/{userId}/certificates/` | `GET` | 사용자의 수료증 목록을 조회합니다. | 📦,💻 | +| `/api/users/{userId}/certificates/{certificateId}/` | `GET` | 특정 수료증 정보를 조회합니다. | 📦,💻 | +| `/api/users/{userId}/certificates/{certificateId}/download/` | `GET` | 특정 수료증을 다운로드합니다. | 📦,💻 | +| `/api/users/{userId}/certificates/` | `POST` | 사용자가 수료증을 요청합니다. | 📦 | +| `/api/users/{userId}/certificates/{certificateId}/` | `DELETE` | 특정 수료증을 삭제합니다. | 📦,💻 | + +## ERD ![erd](assets/images/erd.png) -## WBS **수정 필요** +## WBS ### 프로젝트 초기 설정 및 환경 구축 ![week0](assets/images/week0.png) -### 1주차 기능 구현 **수정 필요** +### 1주차 기능 구현 ![week1](assets/images/week1.png) -### 2주차 기능 구현 **수정 필요** +### 2주차 기능 구현 ![week2](assets/images/week2.png) -### 최종 검토 및 문서화 **수정 필요** - -![week3](assets/images/week3.png) - -## 문제 해결 -### ACCOUNTS - -### MATERIALS - -### JWTAUTH - -### COURSES +### 최종 검토 및 문서화 -### PAYMENTS +![week3](assets/images/week3.png) \ No newline at end of file From 49b56009c12bdea0d631737776b72e4248826148 Mon Sep 17 00:00:00 2001 From: ALbertIM0427 Date: Mon, 14 Oct 2024 23:00:26 +0900 Subject: [PATCH 21/22] =?UTF-8?q?fix:=20=EC=BD=94=EB=93=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- accounts/models.py | 4 +- courses/models.py | 4 +- courses/serializers.py | 11 ++-- courses/test/conftest.py | 4 +- ..._image_image_url_remove_video_video_url.py | 21 +++++++ .../migrations/0010_image_url_video_url.py | 23 ++++++++ materials/models.py | 28 +++++----- materials/serializers.py | 56 ++++++++++--------- materials/views.py | 56 ++++++------------- payments/models.py | 16 +++--- payments/serializers.py | 16 ++++-- 11 files changed, 140 insertions(+), 99 deletions(-) create mode 100644 materials/migrations/0009_remove_image_image_url_remove_video_video_url.py create mode 100644 materials/migrations/0010_image_url_video_url.py diff --git a/accounts/models.py b/accounts/models.py index c308052..80206c7 100644 --- a/accounts/models.py +++ b/accounts/models.py @@ -99,6 +99,6 @@ def __str__(self): return self.email def get_image_url(self): - if getattr(self, "image", None): - return self.image.image_url + if hasattr(self, "image") and hasattr(self.image, "url"): + return self.image.url return "https://paullab.co.kr/images/weniv-licat.png" diff --git a/courses/models.py b/courses/models.py index e373f7c..cf4113f 100644 --- a/courses/models.py +++ b/courses/models.py @@ -113,8 +113,8 @@ class Course(models.Model): updated_at = models.DateTimeField(auto_now=True, verbose_name="수정일") def get_thumbnail(self): - if hasattr(self, "images") and self.images.exists(): - return self.images.first().file.url + if hasattr(self, "image"): + return self.image.url return "https://www.gravatar.com/avatar/205e460b479e2e5b48aec077" def update(self, **kwargs): diff --git a/courses/serializers.py b/courses/serializers.py index 1102366..36881b6 100644 --- a/courses/serializers.py +++ b/courses/serializers.py @@ -89,7 +89,7 @@ class Meta: def get_video_url(self, obj): if getattr(obj, "video", None): - return obj.video.video_url + return obj.video.url return None def get_video_duration(self, obj): @@ -164,9 +164,8 @@ class Meta: ] def get_author_image(self, obj): - print(obj.author.image.image_url) if getattr(obj.author, "image", None): - return obj.author.image.image_url + return obj.author.image.url return None def get_author_name(self, obj): @@ -174,7 +173,7 @@ def get_author_name(self, obj): def get_video_url(self, obj): if getattr(obj, "video", None): - return obj.video.video_url + return obj.video.url return None def get_thumbnail_url(self, obj): @@ -233,6 +232,8 @@ def get_thumbnail(self, obj): return obj.get_thumbnail() def get_author_image(self, obj): + if getattr(obj.author, "image", None): + return obj.author.image.url return "https://paullab.co.kr/images/weniv-licat.png" def get_author_name(self, obj): @@ -314,6 +315,8 @@ class Meta: ] def get_author_image(self, obj): + if getattr(obj.author, "image", None): + return obj.author.image.url return "https://paullab.co.kr/images/weniv-licat.png" def get_author_name(self, obj): diff --git a/courses/test/conftest.py b/courses/test/conftest.py index 728d30a..d9ca727 100644 --- a/courses/test/conftest.py +++ b/courses/test/conftest.py @@ -136,7 +136,7 @@ def create_user(): user = User.objects.create_user( email=TEST_USER_EMAIL, password=TEST_USER_PASSWORD, nickname="testuser" ) - Image.objects.create(user=user, image_url="test.jpg") + Image.objects.create(user=user, url="test.jpg") return user @@ -148,7 +148,7 @@ def create_staff_user(): is_staff=True, nickname="staffuser", ) - Image.objects.create(user=user, image_url="test.jpg") + Image.objects.create(user=user, url="test.jpg") return user diff --git a/materials/migrations/0009_remove_image_image_url_remove_video_video_url.py b/materials/migrations/0009_remove_image_image_url_remove_video_video_url.py new file mode 100644 index 0000000..a41ebb7 --- /dev/null +++ b/materials/migrations/0009_remove_image_image_url_remove_video_video_url.py @@ -0,0 +1,21 @@ +# Generated by Django 5.1.1 on 2024-10-14 06:31 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('materials', '0008_alter_image_options_alter_video_options_and_more'), + ] + + operations = [ + migrations.RemoveField( + model_name='image', + name='image_url', + ), + migrations.RemoveField( + model_name='video', + name='video_url', + ), + ] diff --git a/materials/migrations/0010_image_url_video_url.py b/materials/migrations/0010_image_url_video_url.py new file mode 100644 index 0000000..4565bdd --- /dev/null +++ b/materials/migrations/0010_image_url_video_url.py @@ -0,0 +1,23 @@ +# Generated by Django 5.1.1 on 2024-10-14 06:34 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('materials', '0009_remove_image_image_url_remove_video_video_url'), + ] + + operations = [ + migrations.AddField( + model_name='image', + name='url', + field=models.URLField(default='https://paullab.co.kr/images/weniv-licat.png', verbose_name='이미지 URL'), + ), + migrations.AddField( + model_name='video', + name='url', + field=models.URLField(default='https://www.youtube.com/watch?v=bZh8oUIDfdI&t=1s', verbose_name='동영상 URL'), + ), + ] diff --git a/materials/models.py b/materials/models.py index dffc7de..44c0132 100644 --- a/materials/models.py +++ b/materials/models.py @@ -1,8 +1,9 @@ -from accounts.models import CustomUser -from courses.models import Course, Topic from django.conf import settings from django.db import models +from accounts.models import CustomUser +from courses.models import Course, Topic + class Image(models.Model): """ @@ -34,9 +35,9 @@ class Image(models.Model): null=True, blank=True, ) - - image_url = models.ImageField( - upload_to="images/", blank=True, null=True, verbose_name="이미지 파일" + url = models.URLField( + verbose_name="이미지 URL", + default="https://paullab.co.kr/images/weniv-licat.png", ) is_deleted = models.BooleanField(default=False) created_at = models.DateTimeField(auto_now_add=True) @@ -54,10 +55,10 @@ def __str__(self): def save(self, *args, **kwargs): - if self.user and not self.image_url: - self.image_url = f"{settings.MEDIA_URL}images/default_user_image.jpg" - if self.course and not self.image_url: - self.image_url = f"{settings.MEDIA_URL}images/default_user_image.jpg" + if self.user and not self.url: + self.url = f"{settings.MEDIA_URL}images/default_user_image.jpg" + if self.course and not self.url: + self.url = f"{settings.MEDIA_URL}images/default_user_image.jpg" super().save(*args, **kwargs) @@ -75,8 +76,9 @@ class Video(models.Model): course = models.OneToOneField( Course, on_delete=models.CASCADE, related_name="video", null=True, blank=True ) - video_url = models.FileField( - upload_to="videos/", blank=True, null=True, verbose_name="비디오 파일" + url = models.URLField( + verbose_name="동영상 URL", + default="https://www.youtube.com/watch?v=bZh8oUIDfdI&t=1s", ) is_deleted = models.BooleanField(default=False) created_at = models.DateTimeField(auto_now_add=True) @@ -93,8 +95,8 @@ def __str__(self): return "Video" def save(self, *args, **kwargs): - if not self.video_url: - self.video_url = f"{settings.MEDIA_URL}videos/default_video.mp4" + if not self.url: + self.url = f"{settings.MEDIA_URL}videos/default_video.mp4" super().save(*args, **kwargs) diff --git a/materials/serializers.py b/materials/serializers.py index 7d2c24b..6b547e7 100644 --- a/materials/serializers.py +++ b/materials/serializers.py @@ -12,18 +12,21 @@ class ImageSerializer(serializers.ModelSerializer): - 검사: 파일 형식과 손상 여부에 대해 유효성 검사를 합니다. """ + file = serializers.ImageField(write_only=True) + class Meta: model = Image fields = [ "id", - "image_url", + "url", "is_deleted", "created_at", "updated_at", + "file", ] read_only_fields = [ "id", - "image_url", + "url", "is_deleted", "created_at", "updated_at", @@ -31,11 +34,11 @@ class Meta: def validate_file(self, value): allowed_image_extensions = (".png", ".jpg", ".jpeg") - if not value.name.endswith(allowed_image_extensions): raise serializers.ValidationError( "지원하지 않는 파일 형식입니다. PNG, JPG, JPEG만 가능합니다." ) + try: img = PILImage.open(value) img.verify() @@ -51,44 +54,47 @@ class VideoSerializer(serializers.ModelSerializer): - 검사: 파일 형식과 손상 여부에 대해 유효성 검사를 합니다. """ + file = serializers.FileField(write_only=True) + class Meta: model = Video fields = [ "id", - "video_url", + "url", + "file", "is_deleted", "created_at", "updated_at", ] - read_only_fields = ["id", "video_url", "is_deleted", "created_at", "updated_at"] + read_only_fields = ["id", "url", "is_deleted", "created_at", "updated_at"] def validate_file(self, value): allowed_extensions = ["mp4", "avi", "mov", "wmv"] - if not value.name.split(".")[-1] in allowed_extensions: + if value.name.split(".")[-1] not in allowed_extensions: raise serializers.ValidationError( f"허용되지 않는 파일 형식입니다. 다음 형식만 가능합니다: {', '.join(allowed_extensions)}." ) - try: - cap = cv2.VideoCapture(value) - if not cap.isOpened(): - raise serializers.ValidationError( - "비디오 파일을 열 수 없습니다. 파일이 손상되었을 수 있습니다." - ) - - ret, frame = cap.read() - if not ret: - raise serializers.ValidationError( - "비디오 파일을 읽을 수 없습니다. 파일이 손상되었을 수 있습니다." - ) - - except Exception as e: - raise serializers.ValidationError( - f"비디오 파일 검사 중 오류가 발생했습니다: {str(e)}" - ) - finally: - cap.release() + # try: + # cap = cv2.VideoCapture(value) + # if not cap.isOpened(): + # raise serializers.ValidationError( + # "비디오 파일을 열 수 없습니다. 파일이 손상되었을 수 있습니다." + # ) + + # ret, frame = cap.read() + # if not ret: + # raise serializers.ValidationError( + # "비디오 파일을 읽을 수 없습니다. 파일이 손상되었을 수 있습니다." + # ) + + # except Exception as e: + # raise serializers.ValidationError( + # f"비디오 파일 검사 중 오류가 발생했습니다: {str(e)}" + # ) + # finally: + # cap.release() return value diff --git a/materials/views.py b/materials/views.py index 1114700..9d8ad28 100644 --- a/materials/views.py +++ b/materials/views.py @@ -1,9 +1,8 @@ import io +import time import boto3 import ffmpeg -from accounts.models import CustomUser -from accounts.permissions import IsSuperUser, IsTutor from botocore.exceptions import ClientError from django.conf import settings from django.contrib.auth import get_user_model @@ -15,6 +14,9 @@ from rest_framework.parsers import FormParser, MultiPartParser from rest_framework.response import Response +from accounts.models import CustomUser +from accounts.permissions import IsSuperUser, IsTutor + from .models import Image, Video, VideoEventData from .serializers import ImageSerializer, VideoEventDataSerializer, VideoSerializer @@ -41,22 +43,6 @@ def optimize_image(image_file): return optimized_io -def optimize_video(video_file): - """ - 동영상 파일을 최적화합니다. - - 포맷 변환 - - 리사이징 작업 - """ - output_io = io.BytesIO() - - ffmpeg.input(video_file).output( - output_io, format="mp4", video_bitrate="1000k", s="640x360", preset="fast" - ).run(overwrite_output=True) - - output_io.seek(0) - return output_io - - def upload_to_s3(file_io, file_name, content_type): """ 파일을 S3에 업로드합니다. @@ -92,8 +78,7 @@ class ImageCreateView(generics.CreateAPIView): def create(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) - - image_file = request.FILES.get("image_url") + image_file = request.FILES.get("file") if not image_file: return Response( @@ -102,10 +87,8 @@ def create(self, request, *args, **kwargs): ) optimized_image = optimize_image(image_file) - try: - - user = get_object_or_404(CustomUser, id=request.data.get("user_id")) + user = get_object_or_404(CustomUser, id=request.user.id) if user: timestamp = int(time.time()) @@ -120,7 +103,7 @@ def create(self, request, *args, **kwargs): file_url = f"https://{settings.AWS_S3_CUSTOM_DOMAIN}/{file_name}" - image = serializer.save(image_url=file_url) + image = Image.objects.create(author=user, url=file_url) return Response( self.get_serializer(image).data, status=status.HTTP_201_CREATED @@ -202,7 +185,7 @@ def put(self, request, *args, **kwargs): file_url = f"https://{settings.AWS_S3_CUSTOM_DOMAIN}/{file_name}" - image = serializer.save(image_url=file_url) + image = serializer.save(url=file_url) return Response(self.get_serializer(image).data, status=status.HTTP_200_OK) except ClientError as e: @@ -255,28 +238,25 @@ def create(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) - video_file = request.FILES.get("video_url") + video_file = request.FILES.get("file") if not video_file: return Response( {"error": "동영상 파일이 필요합니다."}, status=status.HTTP_400_BAD_REQUEST, ) - optimized_video = self.optimize_video(video_file) - try: - user = get_object_or_404(CustomUser, id=request.data.get("user_id")) + user = get_object_or_404(CustomUser, id=request.user.id) if user: timestamp = int(time.time()) file_name = f"videos/user_{user.id}/{timestamp}_{video_file.name}" - upload_to_s3(optimized_video, file_name, "video/mp4") + upload_to_s3(video_file, file_name, "video/mp4") file_url = f"https://{settings.AWS_S3_CUSTOM_DOMAIN}/{file_name}" - serializer.validated_data["video_url"] = file_url - video = serializer.save(video_url=file_url) + video = Video.objects.create(url=file_url) return Response( self.get_serializer(video).data, status=status.HTTP_201_CREATED @@ -285,8 +265,6 @@ def create(self, request, *args, **kwargs): return Response( {"error": str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR ) - finally: - del optimized_video class VideoListView(generics.ListAPIView): @@ -324,7 +302,7 @@ def put(self, request, *args, **kwargs): serializer = self.get_serializer(video, data=request.data, partial=True) serializer.is_valid(raise_exception=True) - video_file = request.FILES.get("video_url") + video_file = request.FILES.get("file") if not video_file: return Response( {"error": "동영상 파일이 필요합니다."}, @@ -343,7 +321,7 @@ def put(self, request, *args, **kwargs): ) s3_client.delete_object( Bucket=settings.AWS_STORAGE_BUCKET_NAME, - Key=video.video_url.split("/")[-1], + Key=video.url.split("/")[-1], ) user = get_object_or_404(CustomUser, id=request.data.get("user_id")) @@ -356,7 +334,7 @@ def put(self, request, *args, **kwargs): file_url = f"https://{settings.AWS_S3_CUSTOM_DOMAIN}/{file_name}" - serializer.validated_data["video_url"] = file_url + serializer.validated_data["url"] = file_url video = serializer.save() return Response(self.get_serializer(video).data, status=status.HTTP_200_OK) @@ -383,8 +361,8 @@ def delete(self, request, *args, **kwargs): ) try: - image.is_deleted = True - image.save() + video.is_deleted = True + video.save() return Response(status=status.HTTP_204_NO_CONTENT) except ClientError as e: return Response( diff --git a/payments/models.py b/payments/models.py index e4c9cf7..816928a 100644 --- a/payments/models.py +++ b/payments/models.py @@ -93,10 +93,10 @@ def get_price(self): return unit_price * self.quantity def get_image_url(self): - if self.curriculum: - return self.curriculum.image.image_url - elif self.course: - return self.course.image.image_url + if self.curriculum and hasattr(self.curriculum, "image"): + return self.curriculum.image.url + elif self.course and hasattr(self.course, "image"): + return self.course.image.url return None class Meta: @@ -222,10 +222,10 @@ def get_price(self): return unit_price * self.quantity def get_image_url(self): - if self.curriculum: - return self.curriculum.image.image_url - elif self.course: - return self.course.image.image_url + if self.curriculum and hasattr(self.curriculum, "image"): + return self.curriculum.image.url + elif self.course and hasattr(self.course, "image"): + return self.course.image.url return None def set_expiry_date(self): diff --git a/payments/serializers.py b/payments/serializers.py index f72da71..70da6c8 100644 --- a/payments/serializers.py +++ b/payments/serializers.py @@ -102,10 +102,18 @@ class Meta: ] def get_thumbnail(self, obj): - if obj.curriculum: - return obj.curriculum.image.image_url - if obj.course: - return obj.course.image.image_url + if ( + obj.curriculum + and hasattr(obj.curriculum, "image") + and hasattr(obj.curriculum.image, "url") + ): + return obj.curriculum.image.url + if ( + obj.course + and hasattr(obj.course, "image") + and hasattr(obj.course.image, "url") + ): + return obj.course.image.url def validate(self, data): # 커리큘럼과 코스 중 하나만 선택되었는지 확인합니다. From 2e99b0afaad09d57d2a28e51965731dc35ee3e6c Mon Sep 17 00:00:00 2001 From: "Nathan.LIU" Date: Mon, 14 Oct 2024 23:01:01 +0900 Subject: [PATCH 22/22] =?UTF-8?q?=EC=9D=B4=EB=AF=B8=EC=A7=80=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=97=85=EB=A1=9C=EB=93=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\354\234\240\354\227\260\354\232\260.jpg" | Bin 0 -> 114749 bytes .../\354\234\240\354\233\220\352\270\270.jpg" | Bin 0 -> 118812 bytes .../\354\235\264\354\234\240\354\240\225.jpg" | Bin 0 -> 106819 bytes .../\354\236\204\355\231\215\352\264\221.jpg" | Bin 0 -> 138136 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 "assets/images/\354\234\240\354\227\260\354\232\260.jpg" create mode 100644 "assets/images/\354\234\240\354\233\220\352\270\270.jpg" create mode 100644 "assets/images/\354\235\264\354\234\240\354\240\225.jpg" create mode 100644 "assets/images/\354\236\204\355\231\215\352\264\221.jpg" diff --git "a/assets/images/\354\234\240\354\227\260\354\232\260.jpg" "b/assets/images/\354\234\240\354\227\260\354\232\260.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..2ed7c32838ad82af16302f15faed903374994bc7 GIT binary patch literal 114749 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 literal 0 HcmV?d00001 diff --git "a/assets/images/\354\234\240\354\233\220\352\270\270.jpg" "b/assets/images/\354\234\240\354\233\220\352\270\270.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..fb7e261f89ed61e8d2858018a9d371cc9c6979e7 GIT binary patch literal 118812 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 hX8l)oo?D=UI_Al=|Hu_XBmZzOm>|Jeg;PC@_x literal 0 HcmV?d00001 diff --git "a/assets/images/\354\235\264\354\234\240\354\240\225.jpg" "b/assets/images/\354\235\264\354\234\240\354\240\225.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..255c84230a70faa83424ca54a0f4681ca2fd43b7 GIT binary patch literal 106819 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

yjLKn^m-wwJz&kKJ|D%(;|WWM|}D(K6U*5&^I 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