Giter Club home page Giter Club logo

withme_back's Issues

Logging 환경 구축

서버 실행 중 발생하는 에러의 원인을 추적하기 쉽도록 간단하고 범용적인 logging 환경을 구축한다.

Exception handler에서 Validation 관련 exception인 `ConstraintViolationException`을 처리하지 못하는 문제 해결

Validation을 사용하면 두 가지 exception이 발생할 수 있다. @Valid를 처리할 때 발생하는 MethodArgumentNotValidException@Validated를 처리할 때 발생하는 ConstraintViolationException인데, 현재 ConstraintViolationException 처리에 대한 로직이 부실해서 exception handling이 되지 않고 있다.
이 문제를 해결하고자 한다.

API 응답 데이터 정의

모든 API 응답 시 응답하는 데이터의 형식을 통일하고자 한다.
이렇게 하나로 통일하면 추후 필요한 메타데이터를 추가하기 용이하다.
이 issue는 #20 에서 함께 merge 하도록 한다.

인증 기능 구현

  • Spring Security 도입 및 설정
  • 인증 기능에 필요한 코드 구현
    • UserDetailsService, UserDetails의 구현체 작성
  • 로그인 기능 구현
    • JWT 검증 filter 적용
    • Kakao에 access token을 전달하여 회원 정보 요청
    • 회원 존재 여부 판단 후 회원가입/로그인 로직 처리
    • JWT 발급
    • RefreshToken 발급
  • #54
  • 로그아웃 기능 구현
  • 인증 기능 구현에 따른 Swagger 테스트 환경 설정 추가
  • JPA Auditing 기능으로 생성자, 수정자 기입할 수 있도록 구현

작업 중 PR 꼬인 부분들 복구

팀 내 PR merge 실수가 발생하여 작업 내용들이 꼬여버렸다.
아직 프로젝트 초기 단계이고, commit 관리가 매우 중요한 프로젝트는 아니므로 굳이 reset, revert까지 하지는 않고 이를 복구하는 PR을 새로 만들어 develop branch에 모든 작업 내용을 반영하고자 한다.

AWS 서버 배포

  • AWS EC2 Instnace 생성
  • AWS RDS Intsance 생성
  • 배포를 고려한 application.yaml 설정 작성
  • AWS VPC 보안 설정 점검
  • Nginx를 활용한 추가적인 서버 설정
    • 포트 설정
    • HTTPS 적용
  • CI/CD 적용 고려하기

회원 닉네임 설정 API

회원가입 중 필요한 기능이며, 추후 마이페이지에서 사용될 회원 닉네임을 설정하는 API를 구현하고자 한다.

Exception 처리 환경 구축

@ControllerAdvice를 활용한 exception 처리하고 custom exception을 효율적으로 처리할 수 있는 환경을 구축해본다.

회원가입 추가 로직 구현 (폰 번호, 지역 설정)

#46 에서 인증 기능을 구현하며 회원가입 로직도 함께 구현했다.
현재 구현된 로그인 과정은 다음과 같다.

  • 카카오 로그인 -> (DB에 없는 사용자라면) 카카오 유저 정보를 바탕으로 회원가입 -> 서버 로그인

카카오에서 유저 정보를 받아올 때에는 폰 번호와 주소 정보를 받아올 수 없어 이를 별개의 api로 전달받아 유저 DB에 입력해 줄 필요가 있다.
이를 위해 회원 데이터에 폰 번호와 지역을 설정하는 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.