Community web site to recommend Music of Today.
그날 그날 상황과 분위기에 따라 음악을 추천하고 공유하는 사이트입니다.
음악 추천을 위한 게시판 기능을 주로 하여 태그, 날짜, 날씨등을 기반으로 음악을 추천을 할 수 있도록 할 예정이며, 메인 페이지에는 오늘 날씨와 시간에 따라 자동으로 작성된 플레이 리스트를 제공할 예정입니다.
또한, 음악 등록 시, 제목과 아티스트를 입력하면 자동으로 유튜브, 지니, 멜론에서 링크를 찾아서 사용자가 이용하는 플렛폼에서 재생할 수 있는 기능도 구현 예정입니다.
기본적으로 개발 완료 후, AWS에 배포까지 해볼 계획이나, 로컬에서 실행해 보고자 하시면 Django를 활용한 빌드 후 실행하면 됩니다. 다만, settings.py 파일은 .gitignore에 포함해 놨기 때문에 github 용으로 따로 업로드 해둔 settings 파일의 이름을 바꿔 사용해주시면 되겠습니다.
자세한 사용법은 개발 완료 후 작성할 예정입니다.
pip install django==2.1.1
pip install Pillow
pip install bs4
pip install requests
- 💻 아마존 웹 서비스 배포용 환경 설정
- 💻 현재 날씨 크롤러 구현
- 💻 날씨, 시간 기반 가변 백그라운드 이미지 구현
- 💻 UI 디자인
- 💻 회원가입
- 💻 게시판
- 💻 태그 기능
- 🔒 좋아요 기능
- 🔒 Youtube 검색, 크롤러 구현
- 🔒 Genie 검색, 크롤러 구현
- 🔒 Melon 검색, 크롤러 구현
- 🔒 메인 페이지 음악 추천
사이트의 주요 기능을 포함하는 앱
- 💻 Nav, Footer 를 포함한 공통 UI
- 💻 Session 기반 크롤링 횟수 최소화
- 💻 날씨 정보, 시간대 정보 기반 백그라운드 이미지 선택
- 💻 유튜브 뮤직 플레이어
- 메인페이지 음악 선택기
커뮤니티 게시판 기능을 포함하는 앱
- 💻 게시판 글 CRUD
- 💻 게시판 페이지네이션
- CRUD 시 권한 인증 기능
- 음악 첨부, 플레이어 연동 기능
- 💻 글 태그 기능
로그인, 회원가입, 로그아웃 및 계정관리 전반
- 💻 로그인
- 💻 회원가입
2019/07/28
날씨 크롤러를 bs로 개발하였다. 일단 서울 날씨를 기반으로 하게 하였으나 추후 현위치 기반으로 업데이트하면 좋을 듯 하다.
현재 크롤러가 매 접속 시점에 크롤링을 수행하는데, 성능 개선을 위해 이를 주기적으로 수행하도록 (periodic task) 개선할 예정이나 방법을 모르겠다..
위의 크롤러 퍼포먼스 문제로 이미지를 매번 새로 찾는 것이 아닌 스태틱 이미지 중 적절한 것을 골라서 보여주는 것으로 대채하였다. 다만 나중엔 정말로 그때그때 새 이미지를 찾도록 해보고 싶다.
2019/07/29
로그인 및 회원 기능 전반을 구현하였다. Django의 기본 회원 기능이 너무 좋은 것 같다. 나때는 말이야... 스프링에서 읍읍ㅂ..
크롤러를 메인 페이지 접속시에만 작동하고 이외에는 세션에 저장된 정보를 사용하도록 하였다.
2019/07/30
게시판 CRUD와 페이지네이션을 CBV로 구현하였다.
첫 CBV 구현이라 상당히 시간이 오래 걸렸다. 아직 CBV를 완벽히 이해하지 못하고 있으나, 한번 이해하면 정말 좋을 것이라고 생각된다.
2019/07/31
해시태그 기능과 유튜브 뮤직 플레이어 구현
해시태그에서 ManyToMany 관계 구현등이 생각보다 복잡하고 어려웠다. 커밋 과정이 좀 꼬여서 한참 해맸다.
유튜브 뮤직 플레이어는 편법으로 만들었는데 사실 유튜브 약관 위반이라고 한다. 약관을 지키면서 구현할 방법을 찾아보자.
email : [email protected]