Giter Site home page Giter Site logo

e2e1-orury's Introduction

Orury!

orury_mockup

당신만의 클라이밍 커뮤니티, 오루리!
내 클라이밍 라이프를 다른 클라이머들과 공유하고, 즐기세요!

멤버

Backend Backend Backend Backend
형준 찬욱 종민 무룡
팀원들이 본
형준
팀원들이 본
찬욱
팀원들이 본
종민
팀원들이 본
무룡
중심을 잡아줘요
리더쉽이 강해요
솔선수범한 리더
다재다능 행동대장
뭐든지 꼼꼼해요
팀의 해결사
부딪히고 보는 진격의 개발자
꾸준하게 성장해요
실력이 쑥쑥자라요
끝까지 가면 내가이겨
어려운 일도 파고들어요
책임감이 강해요

기술 스택

서비스 흐름도

서비스 흐름도

CI/CD

image

시스템 아키텍처

system_architecture

ERD

ERD

프로젝트 구조도

📦orury
┣ 📂batch
┃ ┣ 📂job
┃ ┃ ┗ 📜DeleteExpiredTokenJobConfig.java
┃ ┗ 📂scheduler
┃ ┃ ┗ 📜BatchScheduler.java
┣ 📂config
┃ ┣ 📂jwt
┃ ┃ ┣ 📜CustomAuthenticationFailureHandler.java
┃ ┃ ┣ 📜JwtAccessDeniedHandler.java
┃ ┃ ┣ 📜JwtAuthenticationEntryPoint.java
┃ ┃ ┣ 📜JwtFilter.java
┃ ┃ ┣ 📜JwtSecurityConfig.java
┃ ┃ ┗ 📜TokenProvider.java
┃ ┣ 📜CorsConfig.java
┃ ┣ 📜JasyptConfig.java
┃ ┣ 📜SecurityConfig.java
┃ ┗ 📜SwaggerConfig.java
┣ 📂domain
┃ ┣ 📂admin
┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┣ 📜AdminBoardController.java
┃ ┃ ┃ ┣ 📜AdminCommentController.java
┃ ┃ ┃ ┣ 📜AdminPostController.java
┃ ┃ ┃ ┗ 📜AdminUserController.java
┃ ┃ ┗ 📂service
┃ ┃ ┃ ┣ 📜AdminCommentService.java
┃ ┃ ┃ ┣ 📜AdminPostService.java
┃ ┃ ┃ ┗ 📜AdminUserService.java
┃ ┣ 📂board
┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┗ 📜BoardController.java
┃ ┃ ┣ 📂db
┃ ┃ ┃ ┣ 📜BoardEntity.java
┃ ┃ ┃ ┗ 📜BoardRepository.java
┃ ┃ ┣ 📂model
┃ ┃ ┃ ┣ 📜BoardDto.java
┃ ┃ ┃ ┗ 📜BoardRequest.java
┃ ┃ ┗ 📂service
┃ ┃ ┃ ┣ 📜BoardConverter.java
┃ ┃ ┃ ┗ 📜BoardService.java
┃ ┣ 📂comment
┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┗ 📜CommentController.java
┃ ┃ ┣ 📂db
┃ ┃ ┃ ┣ 📜CommentEntity.java
┃ ┃ ┃ ┣ 📜CommentLikeEntity.java
┃ ┃ ┃ ┣ 📜CommentLikePK.java
┃ ┃ ┃ ┣ 📜CommentLikeRepository.java
┃ ┃ ┃ ┗ 📜CommentRepository.java
┃ ┃ ┣ 📂model
┃ ┃ ┃ ┣ 📜CommentDto.java
┃ ┃ ┃ ┣ 📜CommentLikeDto.java
┃ ┃ ┃ ┣ 📜CommentLikeRequest.java
┃ ┃ ┃ ┗ 📜CommentRequest.java
┃ ┃ ┗ 📂service
┃ ┃ ┃ ┣ 📜CommentConverter.java
┃ ┃ ┃ ┗ 📜CommentService.java
┃ ┣ 📂config
┃ ┣ 📂notification
┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┗ 📜NotifyController.java
┃ ┃ ┣ 📂db
┃ ┃ ┃ ┗ 📜EmitterRepository.java
┃ ┃ ┗ 📂service
┃ ┃ ┃ ┗ 📜NotifyService.java
┃ ┣ 📂post
┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┗ 📜PostController.java
┃ ┃ ┣ 📂db
┃ ┃ ┃ ┣ 📜PostEntity.java
┃ ┃ ┃ ┣ 📜PostLikeEntity.java
┃ ┃ ┃ ┣ 📜PostLikePK.java
┃ ┃ ┃ ┣ 📜PostLikeRepository.java
┃ ┃ ┃ ┗ 📜PostRepository.java
┃ ┃ ┣ 📂model
┃ ┃ ┃ ┣ 📜PostDto.java
┃ ┃ ┃ ┣ 📜PostLikeDto.java
┃ ┃ ┃ ┣ 📜PostLikeRequest.java
┃ ┃ ┃ ┗ 📜PostRequest.java
┃ ┃ ┣ 📂repository
┃ ┃ ┗ 📂service
┃ ┃ ┃ ┣ 📜PostConverter.java
┃ ┃ ┃ ┗ 📜PostService.java
┃ ┗ 📂user
┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┣ 📜AuthController.java
┃ ┃ ┃ ┗ 📜UserController.java
┃ ┃ ┣ 📂db
┃ ┃ ┃ ┣ 📜AuthorityEntity.java
┃ ┃ ┃ ┣ 📜AuthorityRepository.java
┃ ┃ ┃ ┣ 📜RefreshTokenEntity.java
┃ ┃ ┃ ┣ 📜RefreshTokenRepository.java
┃ ┃ ┃ ┣ 📜UserEntity.java
┃ ┃ ┃ ┗ 📜UserRepository.java
┃ ┃ ┣ 📂model
┃ ┃ ┃ ┣ 📜AuthorityDto.java
┃ ┃ ┃ ┣ 📜LoginDto.java
┃ ┃ ┃ ┣ 📜TokenDto.java
┃ ┃ ┃ ┣ 📜UserDto.java
┃ ┃ ┃ ┗ 📜UserResponseDto.java
┃ ┃ ┗ 📂service
┃ ┃ ┃ ┣ 📜CustomUserDetailsService.java
┃ ┃ ┃ ┗ 📜UserService.java
┣ 📂global
┃ ┣ 📂common
┃ ┃ ┣ 📜Api.java
┃ ┃ ┣ 📜ApiResponse.java
┃ ┃ ┣ 📜ApiStatus.java
┃ ┃ ┣ 📜BaseEntity.java
┃ ┃ ┣ 📜Listener.java
┃ ┃ ┣ 📜Pagination.java
┃ ┃ ┗ 📜SecurityUtil.java
┃ ┣ 📂config
┃ ┃ ┗ 📜JpaConfig.java
┃ ┣ 📂constants
┃ ┃ ┗ 📜Constant.java
┃ ┣ 📂controller
┃ ┣ 📂error
┃ ┃ ┣ 📂code
┃ ┃ ┃ ┣ 📜AuthorizationErrorCode.java
┃ ┃ ┃ ┣ 📜BoardErrorCode.java
┃ ┃ ┃ ┣ 📜CertificationErrorCode.java
┃ ┃ ┃ ┣ 📜CommentErrorCode.java
┃ ┃ ┃ ┣ 📜ErrorCode.java
┃ ┃ ┃ ┣ 📜PostErrorCode.java
┃ ┃ ┃ ┣ 📜ServerErrorCode.java
┃ ┃ ┃ ┗ 📜UserErrorCode.java
┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┗ 📜ErrorResponse.java
┃ ┃ ┣ 📂exception
┃ ┃ ┃ ┗ 📜BusinessException.java
┃ ┃ ┗ 📜GlobalExceptionHandler.java
┃ ┗ 📂message
┃ ┃ ┣ 📂info
┃ ┃ ┃ ┗ 📜InfoMessages.java
┃ ┃ ┣ 📂success
┃ ┃ ┗ 📂validation
┗ 📜OruryApplication.java

사용법

1. apk를 다운받아서 사용하는 경우

제공해드린 APK 파일을 다운받아 여러분의 휴대폰에 설치하고 사용해주세요

2. IntelliJ에서 플러터를 직접 실행해야 하는 경우

intellij 실행 > plugins 에서 Dart와 Flutter를 설치합니다.

  1. Android SDK 설치
  2. Flutter SDK 설치

requirement

M1 Macbook의 경우 Rosetta2가 설치되어 있어야 합니다

Xcode가 설치되어 있어야 합니다.

https://docs.flutter.dev/get-started/install 에서 운영체제에 맞는 flutter 설치법을 확인하실 수 있습니다

  1. sudo softwareupdate --install-rosetta --agree-to-license

  2. SDK를 설치합니다

    1. 적절한 SDK를 다운받습니다.

      1. intel mac 버전
      2. Apple Silicon mac 버전
    2. 적당한 곳에 압축을 풀고(압축을 푼 곳 주소가 필요합니다)

      압축파일이 있는 곳으로 이동합니다 : cd ~/development 압축을 풉니다: unzip ~/Downloads/flutter_macos_arm64_3.16.0-stable.zip

    3. 환경변수에 플러터 경로를 등록해줍니다

      export PATH**=**"$PATH:pwd/flutter/bin"

      만에 하나 계속 사용하실거면 .zshrc나 .bash_profile에 경로를 등록해야 합니다

  3. 플러터 닥터를 실행해서 부족한 부분을 설정해줘야 합니다

flutter doctor

백엔드를 로컬에서 실행하는 방법

백엔드 프로젝트의 경로는 E2E1-Orury/backend/orury 입니다

  1. 인텔리제이에서 해당 경로를 열어줍니다

  2. backend/orury/src/main/java/com/kernel360/orury/config/JasyptConfig.java 파일에서 @Configuration 어노테이션을 주석처리 합니다

  3. backend/orury/src/main/resources/application.yml 파일을 다음과 같이 수정합니다

    ..
    
        url: ${LOCAL_DB_URL} # configuration에서 설정 필요
    #    url: ENC(4t9k8jNC5SIDd1hpsqRJiw5NgwtRAZ9l2cY42PcN3v6GNDC61KXk4X3nYwwUdW4+aC6g41zh14HyfWg+2fPmfuTXHg7aw+vTvL9Oomq1wEKM2r2ZHJbhmakdpmbeMVjVALC/MSk28Tp4a5sBhUFRWdpaFO2qQcpdUHUd9KsuJh0=)
        username: ${LOCAL_DB_USERNAME}
    #    username: ENC(2STroDy2TfWobkrTroFwbRcxLke05156ZFMrqwKmVssNcN4foSX4I6ax8YAgdW3R)
        password: ${LOCAL_DB_USER_PASSWORD}
    #    password: ENC(a8l7l/AYNz2x1HPYyu+urOBwVcBhQkeWgTi6Fvt+lQFq1QyHsL8yyi5+wr7lh26P)
    jwt:
      header: Authorization
      #HS512 알고리즘을 사용할 것이기 때문에 512bit, 즉 64byte 이상의 secret key를 사용해야 한다.
      #echo 'silvernine-tech-spring-boot-jwt-tutorial-secret-silvernine-tech-spring-boot-jwt-tutorial-secret'|base64
      secret: ${LOCAL_JWT_SECRET_KEY}
    #  secret: ENC(XNkGVBeK1sJZhLhri+zz7pJOhHCvfif265mvT8OUIbOGeQcOCtHNnG2s3qjsKNe2u+dLoNVQBzbF1bKUfDxi8Po5tL7jQbZMPA33Dg1QMQFQWV46IyrYnLykYXQQvpin/SNPXW04ECDoRLF3TNwcS22D8uWEwe8L2wtcauyHeO1z+J6lUQArPHy76O2pzC7FHlBjOTw3STd23e3dd1WBQtHAYVmOIvNuPreulzSaHXc=)
      access-validity: 1800
      refresh-validity: 3600
    

시스템 환경변수나 IntelliJ Configuration에서

로컬 mysql 데이터베이스에 다음과 같은 환경 변수와 값을 등록해줍니다.

LOCAL_DB_URL, LOCAL_DB_USERNAME, LOCAL_DB_USER_PASSWORD, LOCAL_JWT_SECRET_KEY

또는 직접 등록해줘야 합니다.

토큰 만료시간을 조절하기 위해 access-validity, refresh-validity의 값을 적절히 입력해줍니다.(단위는 초 입니다)

Api 확인을 위해서 스웨거에 접속하거나 postman 등을 써서 테스트해주시면 됩니다 기본 포트는 8080 이고 swagger의 주소는 다음과 같습니다.

e2e1-orury's People

Contributors

kkkapuq avatar shinecorine avatar mooncw avatar aqrms avatar

Stargazers

 avatar Minsuk Lee avatar

Watchers

Joeun Park avatar  avatar

e2e1-orury's Issues

프론트 로그인 연동 작업

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

회원가입, 로그인

목적

프론트 회원가입 및 로그인 기능 작업

상세 내용

  • 회원가입 시 회원가입 api 호출
  • 로그인 시 로그인 api 호출 및 shared preference를 활용한 로컬 데이터 저장 기능 구현

api 네이밍컨벤션 통일

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

게시판, 게시글, 댓글

목적

CRUD 별 네이밍 컨벤션 통일

상세 내용

API의 일관성을 위해 네이밍 작업을 진행 예정입니다.

게시글, 댓글 생성 시 유저닉네임 RequestBody 미포함 처리

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

게시글, 댓글

목적

유저닉네임 미포함 처리

상세 내용

현재 user_nickname이 필수로 들어가게 설정되어있습니다.
이를 전달받은 토큰의 id로 계정을 찾고, 닉네임을 할당하는 방식으로 전환하고자 합니다.

PostEntityCommentEntityuserNickName이 사라지고,
DTO엔 유지하는 방향으로 진행예정입니다.

Board 삭제 기능 추가

Board 삭제 기능 추가

목적

DB에 있는 board 데이터를 제거하기 위한 기능 추가

상세 내용

db 외래키 수정 및 id auto_increment 적용

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

db

목적

좋아요 관리 테이블에 매핑된 외래키 삭제 및 auto_increment 추가 적용

상세 내용

해당 테이블은 관리용 테이블로, 좋아요를 누를 때 유저id, 게시글(댓글)id 만 추출해서 꽂히게 되므로 외래키를 삭제하고 fk로만 설정해두겠습니다.

게시판 기능 테스트 코드 작성

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

게시판

목적

테스트 코드 작성

상세 내용

  • 게시판
  • 게시글
  • 댓글
  • cascade 테스트 필요

게시글 사진 클릭 시 확대 노출

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

게시글

목적

게시글에 있는 사진을 클릭했을 때 확대시켜 볼 수 있도록 가시성 개선

상세 내용

GestureDetector 활용 예정

develop -> main merge 작업

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

git, 브랜치

목적

develop -> main merge

상세 내용

개발 브랜치와 메인 브랜치 병합을 하기 위함입니다.

패키지 경로 문제 외 몇 가지

버그 내용

제 컴퓨터에서는 다음과 같은 내용들이 문제가 있어 보입니다. 다른 분들도 확인 부탁드려요

  • 제 컴퓨터에서는 BoardEntity.java 43번 라인에 @where(clause = "isDeleted = false") 에서 에러가 납니다.
    @where(clause = "is_delete = false")이렇게 바꾸니 에러가 안 나는데 다른 분들도 같은지 확인 부탁드려요

  • PostRequest.java id에 붙은 어노테이션이 @notblank로 되어 있는데 찾아보니 gpt에게 물어보니 String 타입일 때 쓰는 게 맞는지 , 그렇다면 없 애거나 NotNull 같은거 붙여야 하는지 의견 확인 부탁드려요

  • PostViewRequest.java 1번 패키지 경로가 package com.kernel360.orury.domain.post; 에서 package com.kernel360.orury.domain.post.model; 로 바꾸는 게 맞는지 확인해주세요

이게 맞으면 아래 내용들도 다음과 같이 수정해야 할 것 같습니다.

  • PostController.java 2번 라인 import com.kernel360.orury.domain.post.PostViewRequest;-> import com.kernel360.orury.domain.post.model.PostViewRequest;

  • PostService.java 파일에서 import com.kernel360.orury.domain.post.PostViewRequest; -> import com.kernel360.orury.domain.post.model.PostViewRequest;

Board Read 기능 추가

Board Read 기능 추가

목적

DB에 들어있는 Board 데이터 읽기

상세 내용

컨트롤러, 서비스 파일에 관련 코드 추가

BaseEntity 수정

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

DB, Entity

목적

수정자 삭제 및 생성자 varchar -> bigint로 변경

상세 내용

  • 기존에 관리 측면에서 예외 케이스를 상정해 수정자를 넣었으나, 이는 오버 엔지니어링으로 판단. 삭제작업 진행
  • 생성자 컬럼값은 varchar -> bigint로 변경. 이에 따른 코드 수정 필요

게시글 댓글 생성/수정/삭제 기능 개발

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

댓글

목적

댓글을 생성/수정/삭제 기능을 추가하고자 합니다.

상세 내용

  • 팝업메뉴 버튼 클릭 시 현재 로그인 된 유저의 id가 아닌 댓글은 수정/삭제 버튼 미노출처리

Swagger UI 추가

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

  • �API

목적

  • API의 자동화된 문서 생성
  • API 테스트를 편리하게 하기 위한 UI 생성

상세 내용

  • build.gradle 에 의존성 추가
  • securify config 에서 swager 페이지를 white list에 추가

게시판 업데이트 기능개선

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

게시판

목적

게시판 업데이트 dto로 작업되게 변경

상세 내용

AS-IS
게시판을 업데이트할 때 Entity에 직접 set

TO-BE
dto로 set해주는 방식으로 변경, converter에 dtoToEntity도 추가

PR 템플릿 생성 및 main, develop 브랜치 merge

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

github

목적

pr 템플릿 생성 및 main과 develop 브랜치 병합

상세 내용

  • pr 템플릿 생성 및 이에따른 main, develop 브랜치 병합을 진행하고자 합니다.

게시물 CRUD 기능 추가

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

게시물

목적

게시물 CRUD 기능 추가

상세 내용

게시물 CRUD 기능 추가

댓글 crud 기능 개발

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

게시판 - 댓글

목적

댓글 crud 기능 개발

상세 내용

댓글 crud 기능 개발

게시판 패키지 구성 및 생성 기능 구현

게시판 패키지 구성 및 생성 기능 구현

도메인: 게시판

목적

게시판 테이블 CRUD 구현중 create 기능 구현

상세 내용

BoardRepository 작성
BoardController 작성
BoardDto 작성
BoardRequest 작성
BoardConverter 작성
BoardService 작성

Entity 뼈대 작업

��Entity 뼈대 작업

목적

�테이블 엔티티 개발 작업

상세 내용

�이슈 생성 시점에서 BaseEntity는 생성 완료, 내일 추가 작업 필요

Entity 추가 필요 리스트들

  • 게시판
  • 게시글
  • 댓글
  • 유저
  • 삭제된게시글
  • 삭제된댓글
  • 게시글좋아요
  • 댓글좋아요

대댓글 기능 추가

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

대댓글

목적

대댓글 추가를 위함

상세 내용

본댓글에 있는 작성 버튼을 누르면 대댓글 달리게 추가
가능하다면 본댓글과 대댓글 구분도 진행

API 호출 시 사용자 인가 작업

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

user, board, post, comment

목적

사용자의 권한에 맞게 컨텐츠를 생성, 수정, 삭제를 할 수 있도록 하기 위함

상세 내용

  • board 삭제 권한을 admin만 가능하도록 수정
  • board 수정 권한을 admin만 가능하도록 수정
  • post 생성 시 token을 통해 유저 아이디 획득하도록 수정
  • post 수정 권한을 본인만 가능하도록 수정
  • post 삭제 권한을 본인과 admin이 가능하도록 수정
  • comment 생성 시 token을 통해 유저 아이디 획득하도록 수정
  • comment 수정 권한을 본인만 가능하도록 수정
  • comment 삭제 권한을 본인과 admin이 가능하도록 수정

게시글과 댓글 간 연관관계 설정

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

  • post,
  • comment

목적

두 테이블의 1: N 연관관계를 설정해 데이터 객체지향적인 설계를 하기 위함

상세 내용

  • PostEntity수절
  • CommentEntity 수정
  • entity와 dto간 convert 클래스 수정.

로깅 로직 개선

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

로그

목적

상세한 로그를 남기기 위함

상세 내용

  • 로그를 남길 때 현재는 어떤게 지워졌다는 로그만 남고있음
    16:30:25.544 INFO c.k.o.d.board.service.BoardService - 게시판이 삭제되었습니다. : 2
  • 어떤 테이블에서, 어떤 row가 지워졌는지 모든 정보가 포함되어야함
    • ex) delete from post where id = 12 쿼리 포함
    • 쿼리가 삭제됐을 때 table의 모든 내용이 로그로 남아야함
    • 쿼리문은 선택, 모든 내용이 남아야하는 것은 필수 작업

회원가입 및 로그인 화면 구현

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

회원가입 및 로그인

목적

회원가입 및 로그인

상세 내용

  • 패스워드 유효성 검증 필요 (32자)
  • 로그인 시 일단은 API 검증없이 넘기는걸로

게시판 사진 관련 db 및 api 개선

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

게시판

목적

사진 기능 구현을 위한 db 및 api 수정작업

상세 내용

사진 데이터를 핸들링하기 위해서 db에 사진데이터를 담고, 이를 리스트형식으로 api에서 반환해줘야 합니다. 관련한 작업을 진행하고자 합니다.

  • imgur API를 활용해 이미지를 업로드하면 imgur 이미지 링크로 db 저장하기
  • db 사진 컬럼 추가(text), 저장방식은 str1,str2,str3...
  • 영향 api
    • 게시글 crud 수정
    • 게시판 crud 수정
  • 해당 작업을 진행하면서 dto 요소 이름변경, isDelete 제거 작업도 병행
  • JPA cascade 작업도 진행

메인화면 구현

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

메인화면

목적

프론트 개발

상세 내용

강의들으면서 강의내용대로 따라만들기

전역 gitignore 추가

세팅 전역 ignore 추가

목적

ignore 제외

상세 내용

프로젝트 전역 gitignore수정 (천천히 추가예정)

게시물 생성 시 id @NotBlank 이슈

버그 내용

게시물을 생성할 땐 id값이 넘어가지 않아야 합니다.
기존 코드로는 에러가 발생하기 때문에, 해당건 수정 부탁드립니다.

Board UPDATE 기능추가

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

Board 도메인

목적

게시판 제목 등 속성을 수정하는 기능을 추가하기 위함

상세 내용

이미지 출력 형식 변경

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

게시글 이미지

목적

게시글 이미지 정규화 테이블 방식 -> 비정규화 방식으로 변경

상세 내용

  • 이미지 update를 원활히 하기 위해 정규화를 통한 List 생성 방식에서 Post에 post_image 컬럼을 추가해 이미지 링크를 전달하도록 변경 (비정규화)

게시글(post) page nation 작성

이슈 관련 도메인

게시글

목적

프론트에 게시판 페이지네이션 구현을 위한 정보 제공

상세 내용

  • 페이지네이션 클래스 작성
  • 게시글 리스트와 페이지 네이션 정보를 감쌀 Api class 구현
  • 게시글 리스트를 페이지네이션 정보와 함게 제공하기 위한 PostApiController와 PostService 파일 수정

프론트 게시글 관련 api 연동 작업

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

게시글 목록, 게시글 1개 조회, 게시글 생성

목적

프론트에서 게시글 관련 서비스를 할 수 있게 하기 위함

상세 내용

  • 게시글 목록과 게시글 1개 조회를 shared preference를 이용하여 jwt가 있어야 api 응답을 받을 수 있게 수정
  • 게시글 생성 화면 수정과 api 연동 추가

imgur api 연동

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

게시글 작성

목적

게시글을 작성할 때 imgur api를 호출해 서버에 등록하고자 합니다.

상세 내용

  • imgur api 호출 및 응답값 절삭처리하여 파일명만 db에 저장
  • 게시글 저장 시 정상적으로 저장되어야 게시글 작성 화면을 떠날 수 있음

게시판 delete 기능에 로깅 기능 추가

Board, Post, Commnet의 delete 기능에 로깅 기능 추가

목적

삭제되었다는 것을 남기기 위한 로깅 기능 추가

상세 내용

로그 정책은 추후에 바뀔 수 있음

댓글 페이지 네이션 구현

도메인

댓글

목적

프론트에 댓글 페이지네이션 정보 제공

상세 내용

  • �CommentController파일 수정
  • CommentService 파일 수정

스플래시 화면 구현

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

스플래시 화면

목적

스플래시 화면 구현

상세 내용

스플래시 화면 구현

메시지 및 상수 패키지 처리

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

전역

목적

중복코드를 방지하기 위한 메시지와 상수 패키징 작업

상세 내용

  • 메시지와 상수 별도로 구분 예정

이미지 노출 에러 수정

버그 내용

  • 게시글 상세보기 화면에서 이미지가 정상적으로 노출되지 않는 현상 수정 필요

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.