카테고리 없음

내일 배움 캠프 머신 러닝 프로젝트 발제

하늘유니콘 2023. 5. 22. 13:32

토큰 로그인 기반으로 개발 → 소셜로그인

어떤 서비스를 만들 것이냐를 슬슬 주어진대로 구현하고서 같다 붙일게 아니라 슬슬 이제 명확한 주제의식을 가져야해요.

 

오늘 할 일 : 팀 회의 발제,주제 정하기,개발환경.버전환경 관리 정하기,포맷터 정하기,GIT관리 규칙 정하기

독스트링 정하기,주석 컨벤션 정하기,역할분담 정하기,UI와이어프레임 작성,ERD작성,API명세서,openia python version 확인 후 버전 선택,팀 전원 환경 구성하기

 

 

주제명: angry cat

 

인식된 사람 얼굴 옆에 화가나 때릴려고 하는 고양이 이미지를 넣어주고 해당 이미지를 공유하는 커뮤니티 서비스

 

 

 

 

4주제: angry cat - 인식된 사람 얼굴 옆에 화가나 때릴려고 하는 고양이 이미지를 넣어주고 해당 이미지를 공유하는 커뮤니티 서비스

구현 방법: 기본적으로 이전 프로젝트에서 구현한 커뮤니티 사이트 + 글 작성시 이미지 업로드 - 업로드 된 이미지에 대해 화난 고양이 추가하기 기능

화난 고양이 추가: 사물인식(사람 얼굴의 location) → 얼굴의 위치 주변에 고양이 이미지 합성

심화 구현 0: 얼굴이 안보이는 사람 이미지의 경우에도 적절한 위치에 고양이를 넣을 수 있다.

심화 구현 1: 고양이의 위치를 벡터 수식에 따라 동적으로 변화시킬 수 있다.

심화 구현 2: 적절한 고양이의 위치 찾기를 머신러닝을 통해 수행할 수 있다?

 

깃. 병합규칙. 브랜치작명, 커밋메세지 컨벤션. 계승.

독스트링, 주석 컨벤션 정하면 좋겠다.

 

역할분배: 기능 구현 및 메인으로 GIT관리자(기능구현이 주가 맞지만 팀에서 메인 관리자 1명은 필요해서 Git 관리는 내가 하기로 했다.)

내일 할 거 : 댓글 만들었던 곳에 수정,삭제 버튼을 추가 계획

 

 

개발규칙

  • 아침 회의 및 퇴실 전, 식사시간 전후로 진행상황 공유
  • 코드컨벤션 : 변수명-파스칼 표기법, 클래스명-파스칼 표기법
  • 포맷터 : python-black formatter, html-prettier
  • 객체에 docs로 설명 작성
  • 깃 운영규칙 : 브랜치 작명규칙, 커밋메세지 규칙(https://doublesprogramming.tistory.com/256).
  • 개발 환경 관리 : requirements.txt로 관리.
  • 독스트링, 주석 컨벤션 - https://engineer-mole.tistory.com/136
  • 매일 저녁8시~9시: SA 수정, README 수정

 

Angry cat WireFrame

 

ERD

 

 

 

 

 

 

API 명세

이름 Method 주소 Request Response
회원가입 POST /user/sign username, password, password2, email 201, {”message”:회원가입 성공}
탈퇴 PUT /user/sign password  
유저정보조회 GET /user/sign - 200, { ”username”:<varchar>, ”email”:<varchar>, ”bio”:<text>, ”article_count”:<int>, ”comment_count”:<int> }
유저정보수정 PUT /user/sign - 200, {”message”:”수정완료”}
로그인 POST /user/token username, password 200, { ”access”:<token>, ”refresh”:<token> }
토큰 재발급 POST /user/refresh refresh token 200, { ”access”:<token> }
토큰 검증 POST /user/verify access token  
게시글 목록조회 GET /article /article/(쿼리시) ?page=<int:pagenum> ?user=<int:userid> ?bookmark=<bool> ?trending=<bool> - 200, { ”count”:”” ”next”:”” ”previous”:”” ”results”:[{ "id":<int>, "author": <varchar>, "title" : <varchar(30)>, ”image”:<File>, "created_at" : <DateTime>, "author_id": <int>, ”likes_count”:<int>, ”comment_count”:<int>, }]}
글상세조회 GET /article/<int:article_id> - 200, { "id":<int>, "author": <varchar>, "title" : varchar(30), ”description”:text, ”image”:<File>, ”cat_says”:<text> "created_at" : DateTime, ”updated_at”:DateTime, "author_name" varchar, ”likes_count”:int, ”comment_count”:int }
글 작성 POST /article title, description, image, cat_says 201, {”message”:”작성완료”}
글 삭제 DELETE /article/<int:article_id> - 204, {”message”:”삭제완료”}
글 수정 PUT /article/<int:article_id> title, description, cat_says 200, {”message”:”수정완료”}
좋아요 POST /article/<int:article_id>/like - 200,{”message”:”like했습니다.”}
북마크 POST /article/<int:article_id>/bookmark - 200,{”message”:”북마크 추가되었습니다.”}
댓글 작성 POST /article/<int:article_id>/comment content 200, {"message": "작성완료"}
댓글 조회 GET /article/<int:article_id>/comment /(쿼리시)/page=<int:pagenum> - 200, { author:<varchar>, content:<text>, created_at:<DateTime>, updated_at:<DateTime> }
댓글 수정 PUT /article/comment/<int:comment_id> content 200, {”message”:”수정완료”}
댓글 삭제 DELETE /article/comment/<int:comment_id> - 204, {”message”:”삭제완료”}
GPT 요청 POST /article/mentgen description 200,{”cat_says”:”text”}
사진수정 POST /article/picgen image 200,{”image”:imagefile}