MusicHub

모두가 만들어가는 플레이 리스트

Introduction

  • 여러명의 사람들이 함께 플레이 리스트를 만들어가는 서비스입니다.
  • 플레이 리스트에 Pull Request 를 할 수 있습니다.
  • Youtube 링크를 요청할 수 있습니다.
  • 플레이 리스트 관리자가 승인하면 플레이 리스트에 등록되어 재생할 수 있습니다.

기술 스택

  • 프론트엔드

    -> 부트스트랩

  • 백엔드

    -> Spring boot 2.4.5

    -> JDK 11

    -> Thymeleaf

    -> JPA

    -> MySQL 8

프로젝트 기간

  • 2021년 4월 ~ 7월

Structure

DB구조

image

  • Member : 회원가입한 유저를 저장하는 테이블. 비밀번호는 암호화되어 들어간다.
  • Playlist : 단순한 플레이 리스트 목록.
  • RequestList : 플레이 리스트에 들어온 요청 리스트. postId로 인식한다.
  • DetailList : 플레이 리스트에 추가된 노래 리스트.

흐름도

image

Diagram

image image


후기

내가 한 일

  • 교내 동아리 팀 프로젝트로 4명이서 진행하였다.

  • 프론트엔트 쪽은 하지 않고, Thymeleaf 정도만 하였다.

  • 스프링 부트

  • 로그인/회원가입

    -> 스프링 시큐리티

    -> 유효성 검증

    -> 암호화

  • 플레이리스트 생성

    -> CRUD 처리

    -> MVC 패턴으로 구현

  • 노래 요청 수락/거절 처리

아쉬운 점

  • 스프링을 공부해본 적 없이 프로젝트를 시작했기 때문에 구현에만 집중하였다.
  • DB 테이블 간 관계를 짓지 않고, 하드코딩하였다.
  • 이미지 업로드가 제대로 동작하지 않아 구현을 못하였다.
  • MVC 패턴으로 Thymeleaf를 사용했기 때문에 프론트와 업무를 분리하기가 힘들었다.
  • Controller - Service - Repository 로 레이어를 분리했지만, 각각의 역할이 지켜지지 않았다.

UI

메인

image

로그인/회원가입

image image

재생페이지

image

마이페이지

image

관리페이지

image