GithubHelp home page GithubHelp logo

chanlog-server's Introduction

안녕하세요! 👋

배움을 즐기며 성장하는 개발자입니다!

stack

typescript Nextjs React NestJs Spring

Tools

Neovim Visual Studio Code Prettier ESLint

chanwoo00106

chanlog-server's People

Contributors

chanwoo00106 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

chanlog-server's Issues

토큰 재발급 로직 추가

개요

accessToken과 refreshToken을 재발급하는 기능을 추가합니다

할 일

  • controller 생성
  • dto 추가
  • service 생성

블로그 모든 글 조회

개요

블로그의 모든 글을 조회합니다.

할 일

  • 블로그 글 조회 기능 추가
  • pagination 기능 추가
  • 이름을 기준으로 조회 기능 추가

토큰 검사 로직 구현

개요

토큰을 검사할 수 있는 로직을 구현합니다

할 일

  • 토큰 검사 filter 구현
  • custom authenticationProvider 개발
  • custom authenticationManager 개발

블로그 글 추가 기능

개요

글을 작성할 수 있는 기능을 추가합니다

할 일

  • controller 생성
  • dto 생성
  • service 생성

블로그 수정 기능 추가

개요

블로그를 수정할 기능을 추가합니다

할 일

  • controller, dto 추가
  • service 추가
  • 기능 테스트

토큰 재발급 기능 추가

개요

토큰을 재발급하는 기능을 추가합니다

할 일

  • controller, dto, repository 추가 및 수정
  • service 로직 추가
  • controller와 service를 연결

로그인 로직 수정

개요

로그인 로직을 수정합니다

버그 발생 원인

로그인 로직에서 refresh token을 저장하는 로직이 없습니다

토큰 만료 날짜 반환

개요

토큰을 생성할 때 만료 날짜를 반환하지 않아서 불편한 것 같다

할 일

  • 토큰 생성시 토큰의 만료 날짜까지 같이 반환하기

로그인 기능 추가

개요

로그인 기능을 추가합니다

할 일

  • controller 와 dto 추가
  • 로그인 서비스 및 repository 개발

filter에러 처리 기능 추가

개요

filter에서 에러가 발생하면 response body가 보이질 않아요

버그 발생 원인

filter 전용 에러처리를 하지 않아서 response body없이 보여요

토큰 관리 문제

개요

enum class에서 configuration값을 주입 받는게 문제가 있다고 합니다

버그 발생 원인

말도 안되는 코드를 작성해서 발생한 문제입니다

스크린샷 2023-03-21 오후 11 12 39

해결 방안

구조를 다시 짜는 게 좋을 듯 합니다

로그아웃 기능 추가

개요

로그아웃을 하는 기능을 추가합니다

할 일

  • controller 생성
  • dto 추가
  • service생성

blog 조회 기능 추가

개요

blog 조회 기능을 추가합니다

아래 있는 필터 기준을 전부 사용하지 않으면 전체 조회가 된다
기본적으로 10개를 씩 조회가 가능하다

  • 블로그 제목으로 조회
  • 유저로 블로그 조회
  • page 값을 받아 10개씩 slice 해서 조회

할 일

  • 블로그를 조회하는 controller와 dto를 추가합니다
  • 블로그 조회 service를 추가합니다
  • service와 controller를 연결합니다

JwtProvider 생성

개요

jwt 관리를 도와주는 클래스를 만듭니다

할 일

  • jwt 생성을 도와주는 메서드 개발
  • jwt paser 및 검사 메서드 개발

환경 변수 수정

개요

배포 환경과 로컬 환경의 db가 달라 환경 변수를 수정합니다

로그인 기능 추가

개요

로그인 기능을 추가합니다

할 일

  • controller, repository, dto 추가
  • service 추가

인가 로직 추가

개요

Spring security를 설정합니다

할 일

  • userDetailsService 추가
  • authentication 추가
  • authenticationProvider 추가
  • authenticationManager 추가
  • filter 추가

프로젝트 재시작

개요

  • validation 에러가 발생하지 않습니다
  • json에러가 발생하며 400에러가 아닌 403에러가 발생합니다
  • 때문에 에러 핸들링이 거의 되지 않습니다

버그 발생 원인

아직까지는 잘 모르겠습니다

2023/4/3 (월)

security config에서 anyRequest에 denyAll을 주게 되면 validation이 동작하지 않는 것 같습니다
때문에 요청에 실패하면 400이 아닌 403이 뜨게 되고 에러도 authenticationEntryPoint로 가게 됩니다

참고

나중을 위해 error/validation-error branch를 남겨놓겠습니다

블로그 생성 기능 추가

개요

블로그 생성 기능을 추가합니다

할 일

  • controller, repository, dto 추가
  • service 구현
  • controller와 service 연결

security config 설정 및 validation check

개요

security config를 추가하고 validation이 잘 동작 하는지 확인합니다

할 일

  • security config 설정
  • validation check
  • authenticationEntryPoint 추가

로그아웃 기능 추가

개요

로그아웃 기능을 추가합니다

할 일

  • controller, dto, repository 추가및 수정
  • service 로직 구현
  • controller와 service 연결

Refresh 토큰 관리 로직 수정

개요

  • 다중 로그인을 구현하기는 너무 힘들 것 같아 refresh 토큰을 관리하는 로직을 수정합니다

  • 토큰을 생성 할 때 유저를 할당하지 않아 null로 잡히는 문제가 발생합니다

할 일

  • 토큰 과 user 관계를 OneToOne으로 수정
  • 토큰 저장 로직 수정

에러 처리 기능 추가

개요

에러를 처리 할 수 있는 기능을 추가합니다

할 일

  • AuthenticationEntryPoint 추가
  • Filter 에러 처리 추가
  • controller 에러를 처리할 RestControllerAdvice 를 추가합니다

블로그 디테일 기능 추가

개요

블로그 디테일 기능을 추가합니다

할 일

  • 모든 블로그 찾기 response 값을 수정합니다
  • controller, dto 추가
  • service 추가

image db 구조 변경

개요

원래는 image url을 db에 저장을 하고 batch를 돌려서 사용하지 않는 이미지를 제거할 생각 이었지만
이런 db 구조로는 이미지를 제거할 수 없을 것 같아 변경하기로 했습니다

할 일

  • db 구조 변경
  • 블로그 생성 로직 수정

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.