Skip to content

Latest commit

 

History

History
81 lines (67 loc) · 2.92 KB

README.md

File metadata and controls

81 lines (67 loc) · 2.92 KB

Pitch Finder

부를 노래 추천을 위한 음역대 측정 기반 노래 필터링 서비스

‘들을’ 노래가 아닌 ‘부를’ 노래를 찾기 위해
개인 음역대를 측정하고 측정된 음역대를 기반으로
노래를 필터링하는 서비스, 피치파인더


🧑‍🤝‍🧑 Team

@chaeri93 @seondal @CSE-pebble
데이터 수집 & 백엔드 개발 프론트엔드 개발 팀장 & 프론트엔드 개발

🛠️ How to install

  • 본 레포 clone git clone https://github.com/K-CoB/music-data-crawling
  • 클론한 프로젝트 폴더를 연다
  • env.example을 참고하여 .env 파일을 만든다
    MYSQL_HOST=
    MYSQL_USERNAME=
    MYSQL_PASSWORD=
    MYSQL_DB=
    YOUTUBE_API_KEY=
    
  • 프로젝트에 필요한 라이브러리 설치 후 프로그램을 실행해준다.
    pip install -r requirements.txt
    python main.py
    

📚 Stack

Section Tech
인프라 AWS Lambda, API Gateway, CloudWatch
언어 Python
데이터베이스 MySQL, AWS RDS
데이터 BeautifulSoup, Youtube API

🔐 System Architecture

image

🗂️ Folder Structure

music-data-crawling
├── .env
├── .env.example
├── .gitignore
├── README.md
├── lib
│   ├── database
│   │   ├── __init__.py # 음악 데이터와 데이터베이스 연결
│   │   └── mysql
│   │       └── mysql.py # 데이터베이스 연결 및 CRUD 함수
│   ├── formulate.py # 음계를 MidiNote로 변환
│   ├── music.py # 나무위키에서 음악 크롤링
│   ├── settings.py # 데이터베이스 연결 설정
│   └── youtube.py # 유튜브 api 사용하여 url 크롤링
├── main.py # 크롤링 실행 함수
├── requirementx.txt # 프로젝트 실행하는데 필요한 라이브러리
├── table.sql # 데이터베이스 테이블 생성
└── utils
    ├── constant
    │   └── __init__.py # 음악 클래스 
    ├── utils.py # 로깅 설정
    └── validate.py # 데이터 전처리

📊 ERD

image