Skip to content

Repository files navigation

Crescendo_python

Crescendo Project Python

작동시키키 위해 필요한 것들

  1. python 3.10.xx 버전
  2. 가상환경 작동전 설치할것
pip install django
pip install djangorestframework
pip install django-cors-headers
  1. 가상환경 작동하기 myserver\Scripts\activate Alt text 이런식으로 보이면 가상환경 로딩성공 ) 가상환경 작동이 안되면 관리자 powershell에 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 실행

  2. 가상환경 작동후 설치할것


pip install pytube
pip install music21
pip install basic_pitch
pip install pydub

  1. ffempeg 설치 cmd켜고 choco(or winget, scoop) install ffmpeg

chocolatey 설치 방법 Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) 커맨드에 입력후 나오는 질문에 y입력

++. base.py 에 전역변수 설정-> 실행환경에 맞게 바꾸기

  • todo 저장소 링크 따로 저장하는 파이썬 파일 만들기 스프링포트로 내보낼수 있게 하기 ai api 구축하기-> api로 음악생성하면 만들어뒀던 notation돌려서 musicxml파일 만들기

요청신호 보내는 법

http://127.0.0.1:8181/youtube/youtube post 방식으로 url 보내기

  1. youtube 다운안될때 pytube 충돌 문제 일수 있음 pip uninstall pytube pip uninstall pytube3 실행후 pip install pytube 다시 깔기

python manage.py runserver 8181

============================================

크레센도

LINK 👉 크레센도 스프링 (백엔드) https://github.com/TeamCrescendo/Crescendo-Spring

LINK 👉 크레센도 파이썬 (백엔드) https://github.com/TeamCrescendo/Crescendo_React

LINK 👉 크레센도 리액트 (프론트) https://github.com/TeamCrescendo/Crescendo_python


※메인 테마 자료






목차

  1. 서비스 개요
  2. 팀원 소개
  3. 기술 스택
  4. 주요 기능 및 로직 소개
  5. 개발 이력
  6. 버전 정보
  7. 데이터베이스
  8. Git Flow



📢 서비스 개요


음악에 관심있는 초보 음악러들을 위한 공간,

혹은 악보를 변환하고 싶은 중수 음악러들을 위한 공간이죠


크레센도는 좋은 음악을 알고는 있지만 해당 음악의 악보를 찾을 수 없는 경우에 도움이 될 수 있습니다.

초보 음악러들이 악보를 간편하게 만드는 서비스를 이용하여 더욱 음악에 흥미를 가지도록 제작했습니다.

또한, AI 음악 생성기능을 통해 작곡체험을 할 수 있습니다.

지금 바로 크레센도에 방문해보세요!



👋 팀원 소개


이름 담당 GITHUB
👨‍💻 한태용 PM, ✨BACK https://github.com/xodyd12
👨‍💻 김다빈 ✨FRONT https://github.com/daveen99
👨‍💻 경규현 FRONT, ✨BACK https://github.com/rudrbgus
👩‍💻 장선경 BACK, ✨AI https://github.com/sunk-dev
👨‍💻 원용제 ✨FRONT https://github.com/Y-ja



🔨 기술 스택


📜 FRONT

HTML5 CSS3 JavaScript React Sass

🛠️ BACK

Java Spring JSON JSON JPA

📀 DB

MariaDB

✂️ Tool

IntelliJ IDEA VisualStudio Code

⭐️ etc

Git GitHub AWS Postman




🎯 주요 기능 및 로직 소개


📄 회원가입 & 로그인

  • 회원은 일반, 구글 계정을 통해 회원가입 및 로그인이 가능합니다.
  • 비밀번호를 잊은 회원은 [비밀번호 찾기] 를 통해 새로운 비밀번호를 등록할 수 있습니다.
  • 관리자를 제외한 모든 사용자는 하루에 5번의 변환횟수를 리필받습니다.
  • 악보변환과 AI 음악 생성 기능은 로그인 하지 않으면 이용할 수 없습니다.
  • 회원 기능: [등록된 악보 확인, 악보 플리, 쪽지, 문의, 회원정보 변경]
  • 관리자 기능: [문의 답변] <img src="https://github.com/TeamCrescendo/Crescendo-Spring/assets/47143547/5ee66e4e-64b8-49ab-81f4-1d86659a16bd" style="width:600px; height:350px;"

📄 1. 음악변환 페이지

  • 회원은 유튜브 링크를 복사-> 붙여넣기, 제출을 통해 유튜브 영상을 악보로 변환 할 수 있습니다.
  • 변환된 악보를 저장할 수 있으며, 공유하기를 선택할 시 악보 게시판에 등록됩니다.
  • 일부 유튜브 정책에 따라서 변환이 불가능한 영상도 존재합니다.
  • 악보 변환시 변환횟수가 1회 차감됩니다.

📄 2. AI 음악 생성 페이지

  • 회원은 음악 재생시간을 1초 부터 10초까지 지정할 수 있습니다.
  • 회원은 생성할 음악에 관련된 설명을 입력하여 음악을 생성할 수 있습니다.
  • 생성된 음악은 다운로드가 가능하며, 해당 페이지의 음악 플레이어로 감상할 수 있습니다.
  • 생성된 음악에 사용된 설명을 확인할 수 있습니다.

📄 3. 악보 게시판

  • 크레센도의 회원들이 공유한 악보목록을 확인 할 수 있습니다.
  • 비로그인 회원 또한 악보목록을 확인 할 수 있습니다.
  • 클릭하면 해당 악보를 자세히 볼 수 있습니다.
    1. 좋아요/싫어요를 설정 할 수 있습니다.
    2. 사용자의 악보 플리에 추가 할 수 있습니다. (플리가 없을 시 추가할 수 있음)
    3. 악보를 신고할 수 있습니다. (신고누적 5회시, 해당 악보 블락처리)
    4. 해당 악보를 등록한 회원에게 쪽지 메세지를 보낼 수 있습니다.

📄 4. 개인서비스

  • 사용자의 프로필사진, 닉네임, 계정명, 변환횟수가 표시됩니다.
  • 회원 정보 수정이 가능합니다.
    1. 닉네임, 이메일, 비밀번호, 프로필사진을 선택하여 수정할 수 있습니다.
  • 회원탈퇴가 가능합니다.
    1. 회원탈퇴 버튼을 클릭하면, 사용자 정보를 삭제합니다.
    2. 회원정보는 바로 삭제되지 않고, 유예기간을 갖게 되고 기간이 만료되면 삭제됩니다.

📄 5. 팀 소개 페이지

  • 소개 글

📜 개발 이력


🕘 개발 기간 (약 한 달 소요)

2024-01-10 ~ 2024-02-


timeline
    title Develop history [2024-01-10 ~ 2024-01-14]
    2024-01-10: [✅] initial commit
            : [docs] 프로젝트 주제 회의
    2024-01-11: [✅] 주제 선정 완료
            : [docs] 프로젝트 주제 선정
    2024-01-12: [✅]
            : [docs] DB설계
    2024-01-13: [✅]
            : [docs] DB설계
    2024-01-14: [✅]
            : [docs] DB설계, 및 분담 작업 시작
Loading
timeline
    title Develop history [2024-01-15 ~ 2024-01-21]
    2024-01-15: [✅] 기능 구현 시작
            : [docs] 기능 구현 1차
            : [Back] DB JPA로 구현 시작
	: [Front] 테마 디자인 구현
	: [Python] 악보 API 적용 시작
    2024-01-16: [✅] DB 설계 완료
            : [front] 테마 디자인 구현 
            : 🔨
            : [Back] DB JPA로 게시판 테이블과 멤버 테이블 구현
	: [Python] ...💦
    2024-01-17: [✅]
            : [front] 테마 디자인 구현
            : 🔨
            : [Back] DB JPA로 플레이리스트와 멤버 테이블 구현 중
	: [Python] ...💦
    2024-01-18: [✅]
            : [front] 테마 디자인 구현, 로그인 회원가입 폼 구현
            : 🔨
            : [Back] DB JPA로 플레이리스트와 멤버 테이블 구현 중
	: [Python] 파이썬 초기 세팅
    2024-01-19: [✅]
            : [front] 로그인 정보창, 로그아웃 연결, 드롭다운 메뉴 구현 
            : 🔨
            : [Back] DB JPA로 플레이리스트와 멤버 테이블 구현 중
	: [Python] ...💦
    2024-01-20: [✅]
            : [front] 마이페이지 제작 시작, 페이지 렌더링
            : 🔨
            : [Back] 좋아요 싫어요 기능 구현 , 이메일 계정정보, 이름 중복 체크 기능 구현
	: [Python] ...💦
   2024-01-21: [✅]
            : [front] 마이페이지 제작 중, 회원 정보 수정 구현 시작
            : 🔨
            : [Back] 악보 기능 구현
	: [Python] ...💦
Loading
timeline
    title Develop history [2024-01-22 ~2024-01-28 ]
    2024-01-22: [✅] -------------------------------------
            : [front] 문의 전송 기능 구현 시작
            : 🔨
            : [Back] 문의 추가, 문의 삭제 구현, 멤버 테이블 수정
	: [Python] 악보 변환 테스트
    2024-01-23: [✅]
            : [front] 문의 전송 구현, 나의 문의 확인하기 구현
            : 🔨
            : [Back] 멤버 테이블 수정, 쪽지 기능 구현 시작, 멤버 토큰 기능 구현 시작, 회원가입 시 이미지 처리
	: [Python] xml 파일 서버 전달 구현 
    2024-01-24: [✅]
            : [front] 회원가입, 로그인기능 수정
            : 🔨
            : [Back] 쪽지 확인, 받은 쪽지 보기, 보낸 쪽지 보기, 좋아요 싫어요 수정, 플레이 리스트 수정
	: [Python] ...💦
    2024-01-25: [✅]
            : [front] 악보 공유 페이지 구현 시작, 개인 서비스 페이지 구현 시작
            : 🔨
            : [Back] 플레이 리스트 구현, 악보 youtube링크 받아 xml파일 보내기, 플레이 리스트 수정
	: [Python] AI 음악 생성 기능 개발 시작 
    2024-01-26: [✅]
            : [front] 쪽지 열람 기능 구현, pdf파일 전송 구현, 마이 페이지 구현
            : 🔨
            : [Back] 멤버 테이블 수정, 토큰 기능 수정, 쪽지 기능 수정
	: [Python] 파일 경로 수정 
    2024-01-27: [✅]
            : [front] 로그인 오류 수정, 악보 변환 로딩 페이지 구현, 쪽지 삭제 구현
            : 🔨
            : [Back] 악보 변환 기능 수정, 멤버 테이블 수정
	: [Python] notation 수정
    2024-01-28: [✅]
            : [front]악보 페이징 처리, 악보 저장하기, 공유하기 구현, 게시물 페이지 구현 시작
            : 🔨
            : [Back] 악보 변환 기능 구현
	: [Python] 텍스트 => pdf변환 완료
Loading
timeline
    title Develop history [2024-01-29 ~ 2024-02-04]
    2024-01-29: [✅]
            : [front] 전체 페이지 수정, AI 음악 생성 시작, 게시물 페이지 구현 중
            : 🔨
            : [Back] 악보 AI 기능 구현, 게시판 기능 구현, 구글 로그인 수정
	: [Python] ...💦
    2024-01-30: [✅]
            : [front] 음악 웨이버 추가, 음악 생성 기능 완성, 게시물 페이지 구현 중
            : 🔨
            : [Back] 악보 mp3파일로 변환 기능 구현
	: [Python] AI음악 MP3 변환으로 변경
    2024-01-31: [✅]
            : [front] 악보 페이지 구현 시작, 플레이 리스트 구현 시작, 게시물 수정, 구글 로그인 구현 시작 
            : 🔨
            : [Back] 구글 로그인 기능 구현
	: [Python] ...💦
    2024-02-01: [✅]
            : [front] 좋아요,싫어요 기능 구현, 구글 로그인 구현 중, 악보 페이지 구현 중, 구글 로그인 구현 중
            : 🔨
            : [Back] 플레이 리스트 기능 수정, 게시판 기능 수정
	: [Python] ...💦
    2024-02-02: [✅]
            : [front] 플레이 리스트 수정,게시판 수정 
            : 🔨
            : [Back] 플레이 리스트 삭제 기능 구현, 게시판 기능 수정, 멤버 구글 로그인 수정
	: [Python] 테스트 파일 수정
    2024-02-03: [✅]
            : [front] 게시판 수정
            : 🔨
            : [Back] 악보 기능 수정, 플레이 리스트 수정  
	: [Python]  ...💦
    2024-02-04: [✅]
            : [front] 플레이 리스트 구현 중, 좋아요,싫어요 구현
            : 🔨
            : [Back] 게시판 기능 구현, 악보 기능 수정, 플레이 리스트 수정
	: [Python] 파이썬 코드 수정
Loading
timeline
    title Develop history [2023-02-05 ~ 2023-02-11]
    2024-02-05: [✅] 
	: [front]관리자 모드 구현 시작, 게시판 수정, 플레이 리스트 수정
	: 🔨
	: [Back] 악보 기능 수정, 플레이 리스트 기능 수정, 멤버 기능 수정
	: [Python] 반환 되는 악보의 제목 변경
            : [AWS] 
    2024-02-06: [✅]
            : [front] 구글 로그인 구현 
	: 🔨
	: [Back] 악보 기능 수정, 플레이 리스트 기능 수정, 멤버 기능 수정
	: [Python] ...💦
            : [AWS] 
    2024-02-07: [✅]
            : [front] 게시판 수정, 플레이 리스트 수정
	: 🔨
	: [Back] 악보 기능 구현, 플레이 리스트 기능 구현, 멤버 기능 구현
	: [Python] 파일 업로드 테스트 
            : [AWS] 
    2024-02-08: [✅] 
            : [front] 게시판 구현 , 플레이 리스트 구현
	: 🔨
	: [Back] 비밀번호 찾은 후 비밀 번호 바꾸기 구현
	: [Python] 로직 변경 
            : [AWS] 
    2024-02-09: [✅]
            : [front] 악보 목록 오류 수정, 비밀번호 찾기 연결
	: 🔨
	: [Back] 비밀번호 찾기 로직 수정
	: [Python] ...💦
            : [AWS] 
    2024-02-10: [✅] 
           : [front] 개인 서비스 PDF모달 출력으로 수정, 레코드바 hover추가
	: 🔨
	: [Back] ...💦
	: [Python] ...💦
            : [AWS] 
    2024-02-11: [✅] 
           : [front] 악보 변환페이지 수정
	: 🔨
	: [Back] 프로필 사진 수정
	: [Python] ...💦
            : [AWS] 
Loading
timeline
    title Develop history [2023-02-12 ~ 2023-02-18]
    2024-02-12: [✅] 
	: [front]음악 생성페이지 수정
	: 🔨
	: [Back] 게시판 페이징 처리 구현
	: [Python] ...💦
            : [AWS] 
    2024-02-13: [✅]
            : [front] 로그인모달, 회원정보수정 모달, 회원가입 모달, 비밀번호 찾기 모달,  개인서비스 수정, host-config 수정
	: 🔨
	: [Back] 게시판 좋아요 싫어요 수정, 다운로드 카운트 수정
	: [Python] ...💦
            : [AWS] 
    2024-02-14: [✅]
            : [front] 모든 모달 수정 & 애니메이션 삽입, 회원정보 수정, 프로필 사진 오류 수정
	: 🔨
	: [Back] 게시판 좋아요 싫어요 수정 , 게시판 삭제 처리 수정
	: [Python] ...💦
            : [AWS] 
    2024-02-15: [✅] 
            : [front] 비밀번호 찾기 모달 수정, 회원정보 드롭다운메뉴 수정
	: 🔨
	: [Back] 개인 페이지 프로필 이미지 수정
	: [Python] ...💦
            : [AWS]  
    2024-02-16: [✅]
            : [front] 페이지 오류 수정
	: 🔨
	: [Back] ...💦
	: [Python] ...💦
            : [AWS] 
    2024-02-17: [✅] 
           : [front] 페이지 오류 수정, 모든 기능,디자인 완료
	: 🔨
	: [Back] 문의 목록 수정, 회원 탈퇴 수정, 게시판 좋아요 싫어요 수정, 모든 기능 완료
	: [Python] ...💦
            : [AWS] 
    2024-02-18: [✅] 
           : [front] 페이지 오류 수정
	: 🔨
	: [Back] ...💦
	: [Python] ...💦
            : [AWS] ...💦

Loading



💡 버전 정보


✅ 크레센도 v0.1 초기 개발 병합


flowchart LR
    회원가입 --> 로그인 --> 서비스이용
    서비스이용 --> 악보변환
    서비스이용 --> AI_음악_생성
    서비스이용 --> 악보게시판
    서비스이용 --> 개인서비스
    서비스이용 --> 팀_소개
Loading
flowchart LR
    악보변환 --> 악보_저장
    악보변환 --> 악보_게시판_등록
    AI_음악_생성 --> 생성된_음악_파일_저장
    AI_음악_생성 --> 사용된_텍스트_확인
    악보게시판 --> 악보목록_확인
    악보게시판 --> 좋아요/싫어요_설정
    악보게시판 --> 악보_플리_저장
    악보게시판 --> 악보_신고
    악보게시판 --> 악보_다운로드
    개인서비스 --> 회원정보_수정
    개인서비스 --> 등록악보_확인
    개인서비스 --> 악보_플리_확인/삭제
    개인서비스 --> 쪽지내역_확인/삭제
    개인서비스 --> 문의하기/내역_확인/삭제
    팀_소개 --> 팀/사이트_소개
Loading



⚙ 데이터베이스


10 Tables



🐱‍🏍 Git Flow


  • main(master) : 서비스가 출시되는 브랜치

  1. 커밋 메세지에 이름을 달아서 버전을 알려줍니다. ex) FRONTEND - CRESCENDO v0.1
  • [이름] / [기능] : 해당 개발자가 표시된 기능을 개발하는 브랜치

ex) veen/login : veen 개발자가 로그인 기능을 개발하는 브랜치

About

Crescendo Project Python

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages