팀소개
- 팀명: CLAID
- 팀원: 김은수, 공민영, 이준영, 마동휘, 왕규원
이름 | 역할 | 깃허브 | 이메일 |
김은수 | 댓글, 추천 & 비 추천, | https://github.com/misily | misili17114@gmail.com |
공민영 | 게시 글 CRUD | https://github.com/Kminy98 | pretty981210@gmail.com |
이준영 | 문서, 카카오 로그인/결제, 배포, 오디오, AI, 실시간 채팅 | https://github.com/beo202202 | wnsdud318@gmail.com |
마동휘 | 북마크 , 네이버 로그인 | https://github.com/madonghwi | https://mdhtora.tistory.com/ |
왕규원 | 구글 로그인 | https://github.com/King-gyu | wgyuwon@gmail.com |
개요
완성하는 것에 중점을 두기로 팀원들 의견이 모임
프로젝트 진행과정과 역할 분담을 단계화
- 1차: CRUD 웹페이지의 기본 기능
- 2차: 플레이어와 플레이 리스트, 장르, 태그 추가, 검색/분류 기능, 포인트, 결제 기능, 배포
- 3차: 테스트 코드 작성, AI 도입 (GPU 서버, 클라우드 등), 실시간 채팅 기능
프로젝트 소개
- 이름: CLAID
- 목적: 자신이 만든 AI 노래를 공유하는 커뮤니티 사이트
- 기능
- 오디오 플레이어(선택 사항)
- 플레이리스트 재생
- 포인트 시스템(선택 사항)
- 추천을 받거나, 댓글을 달면 포인트가 쌓임, 글을 쓰면 포인트가 소모됨
- 결재 시 포인트 획득 가능(추후 구현)
- 검색 기능(선택 사항)
- 태그,장르를 포함하는 검색 기능
- 결제 기능(선택 사항)
- 카카오 페이
- 네이버 페이
- 구글 페이 센드
- AI
- GPU 서버 및 클라우드 서버를 쓸 지는 미지수
- 1차 목표 : 이미 만든 model로 변환한 음성 데이터를 추론하여 변환
- 2차 목표 : 미리 만든 model에 새로 데이터를 넣어 딥러닝하여 model 완성
- 3차 목표 : 모든 것이 다 됨.
- 채팅 기능(선택 사항)
- 실시간으로 채팅이 가능함.
- 오디오 플레이어(선택 사항)
- 스택
- Back-End
- Python 3.10.6 > pyenv에서 찾지 못해 3.10.5를 설치
- Django=4.2.1
- PyJWT=2.7.0
- djangorestframework-simplejwt=5.2.2
- djangorestframework=3.14.0
- django-cors-headers=4.0.0
- django-cleanup=7.0.0
- mysqlclient=2.1.1
- numpy=1.24.3
- Pillow=9.5.0
- poetry
- https://www.inflearn.com/blogs/1120
- pyenv
- Front-End
- HTML
- CSS
- JavaScript
- JQuery
- ajax
- Fetch API
- WebGPU
- WebGL
- Web Audio API
- Deployment
- Docker
- AWS EC2
- AWS Route53
- RDS
- Nginx
- Database
- MySQL
- Back-End
Team Convention(Ground Rule)
- 회의
- 시작회의
- 09:10
- 1시간 이내로 | 타임오버X
- 하루계획, 현황공유, 역할분담, 건의사항, 개발issue공유
- 중간회의
- slack 공지를 통해 유동적으로 진행
- 마감회의
- 20:30
- 1시간 이내로 | 타임오버X
- 내일계획, 일정 및 현황공유 + 내일계획(간략히만)
- 노션 회의록
- 소통
- Team Slack 창을 통해 일정 및 정보 공유!
- ★★★잠수금지!!★★★
- 진행 현황은 솔직하게! 어려운 부분은 공유하기(너무 오래 혼자 고민하지 않기)!
- merge는 모두가 마이크 켜고 모여 있을 때에만 가능
- PR 시 코드 리뷰 합니다. 의견 남겨주세요.
- 주말 자율 참석
- 잠수 시 전화 갑니다.
- 노션 회의록을 통해 진행상황 공유
- 식사시간
- 점심: 12:00~14:00
- 저녁: 18:00~20:00
Git Convention
- Git Flow 방식
- https://www.youtube.com/watch?v=EV3FZ3cWBp8
- 설명
- main branch - develop branch - personal branch(feature)
- main branch : 작동이 완벽히 되고 배포하는 브렌치
- develop branch : PR 받고 merge 하고 포크하는 개발용 브렌치
- personal branch : 개인 브렌치, PR하는 브렌치, feature-#이슈번호
이슈 기반 작업
- 이슈를 먼저 작성
- 이슈 중 회의를 통해 한 가지를 분류하여 작업자가 해당 이슈에 대한 작업 Branch를 생성한다.
- 명확한 구분을 위해 feature-#이슈번호 로 한다.
- Pull Request 시에 Conversation의 컨벤션은 하단의 양식과 같이 한다.
- 해당 작업 내용 1
- 해당 작업 내용 2
- Issue Title #Issue Number
Commit Message Convention
#윗줄 = <타입> : <제목> 의 형식 # 예) ✨Feat: 로그인 기능 추가
#제목은 50자 이내 / 변경사항이 "무엇인지 명확히 작성/ 끝에 마침표 금지 # 예) …..
#본문(구체적인 내용)을 아랫줄에 작성
#여러 줄의 메시지를 작성할 땐 "-"로 구분 (한 줄은 72자 이내)
#꼬릿말(footer)을 아랫줄에 작성 (현재 커밋과 관련된 이슈 번호 추가 등) #예) Close #7, related_to #7
#✨Feat: 기능 추가
# 🐛Fix: 버그 수정
# 🚑Hotfix: 급한 오류 수정
# 📚Docs: 문서 수정, readme
# ☔Test: 테스트 코드 추가
# 🎨Style: 코드 의미에 영향을 주지 않는 변경사항 <- 작성자의 가독성
# 💄Design: CSS 등 사용자 UI디자인 변경 <- 사용자에게 보이는 화면 변화
# 💬Comment: 필요한 주석 추가 및 변경
# 🏷Rename: 파일 혹은 폴더명을 수정하거나 옮기는 작업만의 경우
# ❌Remove: 파일을 삭제하는 작업만 수행한 경우
# 📦Package: 빌드 부분 혹은 패키지 매니저 수정사항
참고사항
fetch = 로컬 저장소에서 하는 Synk fork
pull = fetch + merge
origin/develop = 원격저장소의develop[vi편집기로 commit하기]
git commit > i or a 누르면 작성 시작 > 작성 > esc > :wq
if commit을 취소하고 싶다면 q!로 종료하기[커밋 메시지 예시]
<공백 추가> <- 제목 작성 후 enter
articles/views.py : 상세 게시글 조회, 수정, 삭제
articles/serializers.py : 상세 게시글 조회용 serializer 추가
<공백 추가> <-본문 작성 후 enter
Please enter the commit message for your changes[가장 최근 commit 메시지 수정]
git commit --amend -> git log로 수정 확인[1개만 push하고 수정해야 할 경우] ex) issue 번호 빼먹은 경우
git add [변경파일] -> git commit --amend -> git log로 수정 확인[추가 변경사항이 있는 경우] ex) issue 번호 빼먹은 경우
git add [변경파일] -> git commit --amend -> git log로 수정 확인[push 실수 했을 때 조치 방법]
git log로 commit 내역 확인 -> git reset HEAD^로 최근 commit 취소 ->
git push -f로 강제 push <= 사용 조심하기orgit log --oneline으로 commit 내역 확인 -> 되돌릴 지점 해시 확인 -> git reset <해시>
- git push -f로 강제 push <= 사용 조심하기[PR후 다른 브랜치 생성해서 작업하는 경우]
fork한 내 repo Synk fork -> git fetch ->
git checkout origin/develop로 fetch한 원격repo 로컬repo 연결 확인
git checkout develop-> git merge origin/develop으로 머지 -> 기존 branch -D 삭제
- develop에서 feature/기능으로 git log 반영한 branch생성 -> 작업 시작[원본 develop에 바뀐 코드가 필요한 경우 & rejected 발생시]
기존 작업 중인 내용 git stash로 저장 -> fork한 내 repo Synk fork ->
git fetch -> git checkout origin/develop로 fetch한 원격repo 로컬repo 연결 확인
git checkout develop-> git merge origin/develop으로 머지 -> 기존 branch -D 삭제
- develop에서 feature/기능으로 git log 반영한 branch생성 ->
git stash apply stash@{0}로 stash 적용
- conflict발생시 해결 -> 작업 시작[branch명 잘못 만든 경우]
이름 바꿀 브랜치에서 git branch -m [새 브랜치 명]
- 이미 push --set-upstream한 경우 git push --set-upstream origin [새 브랜치명]
- 잘못 push한 branch 원격 repo에서 삭제[이전 commit 메시지 수정]
git rebase -i HEAD~[head에서 떨어진 수] -> 수정할 commit의 pick을 reword로 변경 후 저장
- 순서대로 commit 변경 메시지 작성 -> git log로 수정 확인
squash 사용시 commit 합치기, reword[일부 변경사항만 stash하기]
git stash push -m "stash 메시지" 파일 파일 파일
/* <= 경로에 있는 모든 파일 추가
Docs Convention
class KakaoLoginView:
'''
작성자 :홍길동
내용 : 코드에 대한 설명
최초 작성일 : 2023.06.06
업데이트 일자 : 2023.06.07
'''
def ..........
ERD
https://www.erdcloud.com/d/8dT6DHQbeW8QyhKqB
와이어프레임
https://www.figma.com/file/OH25J6tB2MTR1oRDNXh4yv/CLAID-Wireframe?type=design&t=dk7jA1zpY3P8RdKM-0
댓글