Giter Club home page Giter Club logo

f1-orury-backend's People

Contributors

c0olcode avatar corazzon avatar gbgreenbravo avatar kkkapuq avatar oxix97 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

f1-orury-backend's Issues

게시글/댓글 CRUD 및 좋아요 리팩토링

이슈 관련 도메인 (회원, 게시판, etc..)

게시글/댓글

목적

게시글과 댓글 API의 코드 품질 향상을 위한 리팩토링을 진행하고자 합니다.

상세 내용

  • controller <-> service 간 DTO로 데이터 처리 작업
    • NOT_FOUND Exception을 controller에서 처리하고 service로 보낼것인가? service에서 처리할것인가?
    • service -> controller 로 보낼 때 response 타입으로 보낼 것인가?
      • 현재는 response로 보내는데, dto로 데이터를 취합하고 controller 단에서 response로 변환해줄지?
    • create/delete도 dto 타입으로 파라미터를 보낼 것인지?
  • getCommentsByPost postId 검증 작업 제거 (오버엔지니어링)
  • 네이밍 컨벤션 통일
  • etc..

조회 API 응답에 is_mine 추가 및 user_id 삭제

이슈 관련 도메인 (회원, 게시판, etc..)

Post(게시글)
Comment(댓글)

목적

프론트에서 user_id(Long)가 아닌 is_mine(boolean)을 보고, 로그인된 유저가 creator인지 판별하고자 함.

상세 내용

게시글 상세 조회, 댓글 조회에서 해당 사항을 적용하고자 합니다.
기존에 있던 user_id를 응답하지 않고, is_mine을 응답하도록 수정하겠습니다.

게시글 목록(카테고리별, 검색어별, 인기게시판)에서는 is_mine이 필요하지 않다고 하셔서, 이 부분은 그대로 두겠습니다.

멀티 모듈 환경 설정

이슈 관련 도메인 (회원, 게시판, etc..)

  • core, admin, api, batch

목적

모듈 분리

상세 내용

Post(게시글) 테스트코드 작성

이슈 관련 도메인 (회원, 게시판, etc..)

게시글

목적

애플리케이션 코드 안정화를 위한 테스트코드 작성

상세 내용

게시글 CRUD 및 좋아요 기능에 대한 테스트코드 작성

S3 서버 구축

이슈 관련 도메인 (회원, 게시판, etc..)

인프라

목적

이미지 서버 구축

상세 내용

S3를 활용한 이미지 서버 구축을 진행하고자 합니다.

멀티 모듈 리팩터링

이슈 관련 도메인 (회원, 게시판, etc..)

멀티 모듈

목적

  • 멀티 모듈 안정화
  • Domain 모듈 분리

상세 내용

image

JWT Token 기능 추가

이슈 관련 도메인 (회원, 게시판, etc..)

refresh_token

목적

소셜 로그인에서 발급 받은거 custom accessToken, refreshToken 만들어 관리

상세 내용

위와 동일

Exception 및 ErrorCode 프레임 추가

이슈 관련 도메인 (회원, 게시판, etc..)

세팅

목적

Exception 및 ErrorCode 초안 공유

상세 내용

개발을 하면서 모두 동일한 응답 형태로 내리기 위해 사용되는 ErrorCode 및 Exception을 핸들링하기 위한 스켈레톤을 작성.

Swagger-ui 세팅

이슈 관련 도메인 (회원, 게시판, etc..)

Swagger-ui 적용하기

목적

postman 안쓰려고함

상세 내용

notion에 수기로 작성하는것 보다 만들어져있는 내용 복붙이 경험상 훨씬 정확

Comment(댓글)&CommentLike(댓글좋아요) 리팩토링

이슈 관련 도메인 (회원, 게시판, etc..)

Comment(댓글)

목적

Post(게시글) 리팩토링(#59)애서 합의했던 컨벤션에 맞게 Comment(댓글) 도메인의 리팩토링을 진행할 예정입니다.

상세 내용

Comment(댓글) 도메인 리팩토링

로그인 기능 스켈레톤 개발

이슈 관련 도메인 (회원, 게시판, etc..)

회원

목적

로그인 기능 스켈레톤 개발

상세 내용

로그인 기능 관련 시큐리티 초안 작성

Refactor : Global Exception Handler

이슈 관련 도메인 (회원, 게시판, etc..)

common

목적

프로젝트의 전역적 예외 처리를 보다 편리하게 관리하기 위한 목적

상세 내용

각 도메인에서 발생할 수 있는 예외를 세부적으로 나누어서 관리를 해야겠다는 생각이 들었다.

BusinessException에서 모든 것을 담당하여 에러 메세지만 세분화한 것을 디밸롭

  • 예외처리 로직을 common 모듈로 이동
  • 각 서비스, 컨트롤러에서 발생하는 예외 경우 조사
  • 예외 별로 관리
  • CustomException에서 처리해야할 로직도 추가 가능

User CRUD 기능 구현

이슈 관련 도메인 (회원, 게시판, etc..)

회원(User) 도메인

목적

회원 기본 CRUD 구현

상세 내용

api 모듈 내의 회원 도메인 CRUD 구현 (DB ERD 설계 바탕)

Post(게시글) 인기 게시글 목록 조회 구현

이슈 관련 도메인 (회원, 게시판, etc..)

Post(게시글)

목적

인기 게시글 기획에 따른 구현 작업입니다.

상세 내용

좋아요가 가장 많은 순서대로 게시글을 보여주는
인기 게시글 목록을 구현할 예정입니다.

develop, stage, main merge 작업

이슈 관련 도메인 (회원, 게시판, etc..)

브랜치 관리

목적

develop -> stage
stage -> main
머지 작업

상세 내용

develop -> stage
stage -> main
머지 작업

Post(게시글) CRUD 기능 구현

이슈 관련 도메인 (회원, 게시판, etc..)

Post(게시글)

목적

Post 도메인의 api 구현

상세 내용

Post(게시글) CRUD 기능 구현
PostLike(게시글 좋아요) 생성/삭제 구현

테스트 코드, 로깅은 따로 다룰 예정입니다.

Feature : SpringBatch 초기 설정

이슈 관련 도메인 (회원, 게시판, etc..)

orury-batch

목적

  • spring batch �구현을 하기 위한 초기 설정

상세 내용

  • batch tables가 적절하게 만들어지는지 확인
  • kakao api를 불러오는 환경 설정
  • spring batch 작업을 실행할 주기 설정

EC2 및 MySQL 세팅

이슈 관련 도메인 (회원, 게시판, etc..)

세팅

목적

EC2 및 MySQL 세팅

상세 내용

EC2 및 MySQL 세팅

리뷰 CRUD, 테스트 코드

이슈 관련 도메인 (회원, 게시판, etc..)

리뷰 도메인에 관한 CRUD 작성 및 테스트 코드 작성

목적

새로운 기능 개발

상세 내용

erd cloud의 설계에 따라 리뷰 CRUD, 테스트 코드를 작성할 예정 입니다.

  1. erd cloud 설계
  2. api 명세서 작성
  3. 개발

Jasypt 적용

이슈 관련 도메인 (회원, 게시판, etc..)

배포

목적

민감정보 암호화를 위한 Jasypt 적용

상세 내용

민감정보 암호화를 위한 Jasypt 적용

Notice(공지사항) 생성 기능 구현

이슈 관련 도메인 (회원, 게시판, etc..)

Notice 공지사항 도메인

목적

공지사항 create 구현

상세 내용

관리자 부분 기능이 후순위로 밀리게 되면서, 기존에 작업했던 공지사항만 완성.

Comment(댓글) Service 테스트코드 작성

이슈 관련 도메인 (회원, 게시판, etc..)

Comment(댓글)

목적

Comment(댓글) Service 테스트코드 작성

상세 내용

CommentServiceTest, CommentLikeServiceTest 테스트코드 작성 예정입니다.

CORS 에러 회피 세팅

이슈 관련 도메인 (회원, 게시판, etc..)

프론트

목적

프론트측에서 API 호출 시 CORS 에러가 발생하고 있습니다.
해당 이슈를 해결하기 위한 세팅을 진행하고자 합니다.

상세 내용

webConfig 파일 추가 예정

Logging 적용

이슈 관련 도메인 (회원, 게시판, etc..)

Post
Comment

목적

Logging을 하기 위함.

상세 내용

Controller의 경우에는 모든 메서드에서 response/request 로깅할 수 있게 하고,
Service에서는 커스텀 어노테이션(@logging)으로 지정하는 메서드만 로깅할 수 있도록 함.

Setting : AWS 인스턴스 환경, Docker-compose 환경 구축

이슈 관련 도메인 (회원, 게시판, etc..)

Setting : aws, docker

목적

서비스를 활성화 하기 위한 aws 환경 구축

상세 내용

  • 권한 받아서 aws 설정
  • mysql etc.. 와 같은 환경 설정을 aws 환경에 올리기 위해 docker 설정
  • docker-compose 설치
  • root 계정, password=123

AWS - 보안그룹

보안그룹

서비스 이름 : orury-ec2
유저 이름 : ec2-user
port : 2562

접속 ex) ssh orury-ec2 -p 2562

EC2 환경

image

게시글 CRUD 관련 테스트코드 수정

이슈 관련 도메인 (회원, 게시판, etc..)

게시글 테스트코드

목적

게시글 테스트코드 수정

상세 내용

현재 build fail 되는 PostServiceTest.java 수정

flyway 적용

이슈 관련 도메인 (회원, 게시판, etc..)

세팅

목적

flyway 적용

상세 내용

DB 형상관리에 필요한 flyway를 적용 작업 진행 예정

Github Action 빌드 자동화

이슈 관련 도메인 (회원, 게시판, etc..)

Github Repository

목적

빌드 자동화를 통해 빌드, 테스트가 모두 완료된 파일만 병합하기위함

상세 내용

workflow/gradle.yml 스크립트로 자동화 진행
그 밖에 테스트코드에 저해되는 요소 @disable 처리

도메인 Entity의 Column Name 명시

이슈 관련 도메인 (회원, 게시판, etc..)

User
Post
Comment

목적

도메인 Entity에 DB Column Name 명시해서 서버 구동될 수 있도록 함.

상세 내용

@column(name = "id", nullable = false)과 같이 Column Name 명시.
추가로 @entity(name = "post")와 같이, Table Name 명시.

Notice (공지사항) CRUD 구현

이슈 관련 도메인 (회원, 게시판, etc..)

Notice 공지사항 도메인

목적

기본 CRUD 구현

상세 내용

API 명세서에 있는 notice 기능을 구현한다.
공지사항 생성, 수정, 삭제, 조회 구현.
(상세조회, 검색-> 이 후에 공부 후에 구현)

User CRUD 리팩토링

이슈 관련 도메인 (회원, 게시판, etc..)

User

목적

dto변환을 컨트롤러에서 진행할 수 있도록 코드 리팩토링 진행

상세 내용

기존에는 dto 변환을 서비스에서 했는데 서비스가 너무 무거워지는 것 같아 컨트롤러에서 dto 변환을 하도록 리팩토링.
추가로 테스트코드도 작성하겠습니다.

Post(게시글)&PostLike(게시글좋아요) 리팩토링

이슈 관련 도메인 (회원, 게시판, etc..)

Post(게시글)

목적

형준님께서 진행하신 리팩토링에 이어서, Post와 PostLike에 대해 리팩토링 마무리할 예정입니다.

상세 내용

  • Post 검색 pagination 이슈 해결
  • PostLike 리팩토링

Setting : GithubActions CI / CD

이슈 관련 도메인 (회원, 게시판, etc..)

.workflow/actions

목적

CI / CD 환경 구축

상세 내용

CI : Auto Build, Auto Testing

CD : Auto Deploy (aws 환경 설정 완료하면)

멀티모듈에서는 어떻게 해야하는걸까?

멀티 모듈 세팅

이슈 관련 도메인

orury 루트 모듈

목적

기존 orury 모듈을 나누어 각각의 기능들을 구현할 때 독립적으로 사용하기 위함

상세 내용

  • orury-api : 기존에 환경설정한 내용을 가지고 왔으며 가장 많이 사용될 개발 모듈
  • orury-batch : 향후 배치 작업을 하기 위한 모듈
  • orury-admin : 어드민 관련 로직을 처리하기 위한 모듈

CORS 에러 회피 세팅

이슈 관련 도메인 (회원, 게시판, etc..)

프론트

목적

프론트측에서 API 호출 시 CORS 에러가 발생하고 있습니다.
해당 이슈를 해결하기 위한 세팅을 진행하고자 합니다.

상세 내용

webConfig 파일 추가 예정

멀티 모듈 세팅(최종)

이슈 관련 도메인 (회원, 게시판, etc..)

core, api, admin, batch

목적

멀티 모듈을 바로잡기 위함

상세 내용

위와 동일

Comment(댓글) CRUD 기능 구현

이슈 관련 도메인 (회원, 게시판, etc..)

Comment(댓글)

목적

Comment 도메인의 api 구현

상세 내용

Comment(댓글) CRUD 기능 구현
Comment 댓글/대댓글 정렬

CommentLike(댓글 좋아요) 생성/삭제 구현은 다음 작업에서 다루겠습니다.

AuditingField 수정

이슈 관련 도메인 (회원, 게시판, etc..)

base

목적

createdBy가 필요없어지고 updateAt이 필요해서 수정

상세 내용

목적과 동일

도메인 Entity 및 Dto 작성

이슈 관련 도메인 (회원, 게시판, etc..)

User
Post
Comment

목적

�개발을 위한 도메인 Entity 및 Dto 작성

상세 내용

현재 ERD에서 리프레쉬토큰관리, 탈퇴유저를 제외한 나머지 도메인의 Entity와 Dto 작성.

User, UserDto,
Post, PostDto,
PostLike, PostLikePK, PostLikeDto,
Comment, CommentDto,
CommentLike, CommentLikePK, CommentLikeDto,

Admin과 Notice는 기존에 종찬님께서 작성하셨습니다.

숫자형 상수(NumberConstants) 분리

이슈 관련 도메인 (회원, 게시판, etc..)

post
global

목적

숫자형 상수를 따로 관리하기 위함.

상세 내용

숫자형 상수 관리 클래스 생성
(기존의 Constants enum과 별개로 final class로 설정).

멀티모듈 코어 추가 분리

이슈 관련 도메인 (회원, 게시판, etc..)

세팅

목적

기존 api / admin / batch 모듈을
core > api / admin / batch 로 이관시키기 위함

상세 내용

동일한 기능을 수행하는 모듈들의 의존성 관리를 용이하게 하기 위해 core를 추가 예정입니다.

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.