Code Monkey home page Code Monkey logo

music-soulmate's Introduction

music-soulmate

음악 취향 기반 SNS

music-soulmate's People

Contributors

grey920 avatar f-lab-bot avatar

Stargazers

 avatar

Watchers

Gyuwon Yi avatar  avatar

Forkers

grey920

music-soulmate's Issues

공통 응답 형식

AS-IS

  • 현재는 에러가 발생하면 "errors"라는 키 값으로 Map에 에러 메시지를 담아 ResponseEntity로 HttpStatus와 함께 반환한다. (@ExceptionAdvice)
  • API가 성공한 경우 각 결과값인 응답 DTO만을 ResponseEntity에 담아 응답한다.

작업이 필요한 이유

  • 에러 발생시 새로운 해시맵을 매번 생성하고 맵에 담는 반복적인 코드가 많다.
  • 현재는 에러의 메시지만 보내고 있어 디버깅시 정보가 부족하다. 더 유의미한 내용을 담고 싶다.
  • 에러마다 동일한 형식의 응답값을 주어 일관된 예외 처리가 가능하도록 한다.

작업 상세 내용

  • 응답에 필요한 내용이 무엇일지 고민하고 공통 응답 형식의 구조 잡기
  • 상태값 상수 처리

참고

회원가입 기능 구현

To do list

  • 회원가입 관련 패키지 생성
  • DB 연결 및 관련 엔티티 생성
  • 테스트 코드 작성
    • 회원가입 서비스 단위 테스트 > 실패하는 테스트 작성
  • 회원가입 관련 예외 처리
  • 기능 구현

관련 학습

  • Spring Validation
  • Spring Error Handling

로그인 기능 구현

  • 사용자가 많은 서비스라 가정했을 때 Scale up과 Scale out 중 어떤 방식으로 대처하는게 좋을지 고민하기
  • 사용자가 많다고 가정하고, 운영 비용과 서비스 특성에 가장 적합한 로그인 방식이 무엇일지 생각하기

회원가입시 사용자의 음악 취향 정보를 저장할 수 있다.

회원가입시 사용자의 음악 취향 정보를 저장할 수 있다.

작업 이유

  • 해당 서비스는 사용자의 음악 취향을 기반으로 팔로워를 추천한다. 이를 위해 사용자로부터 음악 취향에 대한 기본적인 정보가 필요하다.

작업 상세 내용

  • 사용자로부터 받아야하는 음악 정보가 무엇일지 고민하고 설계하기
  • 음악 장르나 곡, 아티스트 정보 등 음악관련 정보를 사용할 수 있는 외부 API 찾기
  • 테스트

참고

회원은 피드를 등록할 수 있다

작업 상세 내용

  • 피드 엔티티 및 레포지토리 생성
  • 태그 등록 테스트
  • 비공개 등록 테스트
  • API 생성

참고

  • 회원과 팔로우 관계, 피드, 태그 그리고 좋아요 기능을 유기적으로 연결할 수 있게 설계하도록 고민하기
  • 추후 음악 엔티티와 연결을 어떻게 할 지도 고려하기

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.