Skip to content

Repository files navigation

챌린지 프로젝트

같은 목표를 가진 사람들이 모여서 함께 목표에 도전하는 앱의 API 구현을 위한 백엔드 프로젝트

프로젝트 기능 및 설계

  • 기본 설정
    • USERID 1번은 ADMIN이다.
  • 회원 가입 기능
    • 사용자는 회원 가입해서 서비스를 이용할 수 있다.
    • 회원가입하면 기본적으로 MEMBER권한이 부여된다.
    • 회원 가입 요청을 보내면 이메일 인증 후 회원 가입이 완료 된다.
  • 회원 정보 조회/수정 기능
    • 로그인한 사용자만 자신의 회원 정보 조회/수정을 할 수 있다.
    • 로그인한 사용자는 자신의 정보를 조회 할 수 있다.
    • 로그인한 사용자는 자신의 정보를 수정 할 수 있다.
  • 로그인 기능
    • 회원 가입을 한 사용자는 로그인을 할 수 있다.
    • 로그인시 loginId와 password가 필요하다
    • 로그인 성공 시 Access Token과 Refresh Token이 발급된다.
  • 소셜 로그인 기능
    • 소셜 로그인을 시도하는 사용자는 자동으로 회원 가입 후 로그인이 된다.
    • Google, Naver, Kakao 소셜 로그인이 가능하다.
  • 관리자 생성
    • 관리자 계정을 생성하면 ADMIN 권한이 부여 된다.
    • 관리자 계정을 만들 때는 loginId와 password만 필요하다.
  • 블랙리스트 등록/해제 기능
    • 관리자가 활동이 불량한 회원을 블랙 리스트에 추가 시킨다.
    • 관리자가 블랙 리스트에 추가 된 회원을 해제 시킬 수 있다.
  • 계좌 금액 충전 기능
    • 회원은 계좌에 보증금으로 사용할 금액을 충전 할 수 있다.
  • 계좌 충전, 환불 내역 조회 기능
    • 계좌를 충전하거나 환불받은 내역을 조회할 수 있다.
  • 환불 신청 기능
    • 회원은 충전한 금액에 대해 환불 신청할 수 있다.
  • 환불 신청 조회 기능
    • 회원은 작성한 환불 신청을 조회할 수 있다.
    • 관리자는 모든 회원의 환불 신청을 조회할 수 있다.
  • 환불 신청 취소 기능
    • 회원은 작성한 환불 신청을 취소 할 수 있다.
  • 환불 신청 승인/ 비승인 기능
    • 관리자는 회원의 환불 신청을 승인 또는 비승인 할 수 있다.
    • 회원이 환불 받으려는 금액을 이미 사용했으면 환불이 불가하다.
  • 챌린지 기능
    • 챌린지를 조회, 생성, 삭제, 수정, 참여가 가능하다.
  • 챌린지 전체 조회 기능
    • 사용자는 로그인 없이 생성된 모든 챌린지를 조회할 수 있다.
  • 챌린지 상세 조회 기능
    • 사용자는 생성된 모든 챌린지 중 특정 챌린지 클릭 시 챌린지의 정보를 조회할 수 있다.
  • 유저가 생성한 챌린지 조회 기능
    • 로그인된 사용자가 생성한 챌린지의 목록을 조회할 수 있다.
  • 유저가 참여중인 챌린지 조회 기능
    • 로그인된 사용자가 참여중인 챌린지의 목록을 조회할 수 있다.
  • 챌린지 참여 기능
    • 사용자가 원하는 챌린지에 참여할 수 있다.
    • 참여시 원하는 보증금을 입력한다.
  • 챌린지 참여 취소 기능
    • 사용자는 참여중인 챌린지를 취소할 수 있다.
    • 취소는 챌린지가 시작전인 경우 가능하다.
  • 챌린지 생성 기능
    • 사용자는 생성하고 싶은 챌린지의 정보를 입력하여 챌린지를 생성한다.
  • 챌린지 수정 기능
    • 사용자는 원하는 챌린지를 선택하고 수정 시 새로운 정보로 수정할 수 있다.
    • 챌린지를 생성한 사용자와 로그인 된 사용자가 같은 경우만 수정할 수 있다.
  • 챌린지 삭제 기능
    • 챌린지를 만든 사용자가 챌린지를 삭제할 수 있다.
  • 챌린지 환급 기능
    • 챌린지 생성 시 기입한 인증기준을 만족하고 종료일이 지난 후 사용자는 보증금과 환급금을 받을 수 있다.
  • 챌린지 검색 기능
    • 사용자는 챌린지를 제목과 카테고리로 검색할 수 있다.
  • 코테 챌린지 추가 기능
    • 챌린지를 만든 회원은 코테 문제를 출제하기 위해 코테 챌린지를 추가할 수 있다.
  • 코테 챌린지 조회 기능
    • 회원은 코테 문제를 확인하기 위해 오늘의 코테 챌린지를 확인할 수 있다.
    • 회원은 코테 문제를 확인하기 위해 모든 코테챌린지를 확인할 수 있다.
  • 코테 챌린지 수정 기능
    • 챌린지를 만든 회원은 코테 챌린지를 수정할 수 있다.
  • 코테 댓글 추가 기능
    • 회원은 참여한 코테 챌린지에 인증 댓글을 추가할 수 있다.
  • 코테 댓글 조회 기능
    • 회원은 코테 챌린지의 인증 댓글을 조회할 수 있다.
  • 코테 댓글 수정 기능
    • 회원은 내가 작성한 코테 댓글을 수정할 수 있다.
  • 코테 댓글 삭제 기능
    • 회원은 내가 작성한 코테 댓글을 삭제할 수 있다.
    • 관리자는 댓글 관리는 위해 모든 코테 댓글을 삭제할 수 있다.
  • 다이어트 챌린지 추가 기능
    • 회원은 챌린지 타입이 다이어트인 챌린지에 참여할 때 목표 몸무게 작성을 위해 다이어트 챌린지를 추가한다.
  • 다이어트 챌린지 조회 기능
    • 회원은 본인이 작성한 다이어트 챌린지를 조회할 수 있다.
    • 관리자는 모든 다이어트 챌린지를 조회할 수 있다.
  • 다이어트 챌린지 수정 기능
    • 회원은 챌린지가 시작하기 전에 다이어트 챌린지를 수정할 수 있다.
  • 다이어트 댓글 추가 기능
    • 회원은 참여한 다이어트 챌린지에 현재 몸무게를 업데이트 하기 위해 댓글을 추가할 수 있다.
  • 다이어트 댓글 조회 기능
    • 다이어트 챌린지의 댓글을 조회할 수 있다.
  • 다이어트 댓글 수정 기능
    • 회원은 작성한 다이어트 댓글을 수정할 수 있다.
  • 다이어트 댓글 삭제 기능
    • 회원은 작성한 다이어트 댓글을 삭제할 수 있다.
    • 관리자는 댓글 관리는 위해 모든 다이어트 댓글을 삭제할 수 있다.
  • 물마시기 챌린지 추가 기능
    • 회원은 챌린지에 참여할 때 목표 섭취량을 작성하기 위해 챌린지에 물마시기 챌린지 추가한다.
  • 물마시기 챌린지 조회 기능
    • 회원은 오늘 목표, 현재 섭취량을 확인하기 위해 오늘의 물마시기 챌린지를 조회할 수 있다.
  • 물마시기 챌린지 수정 기능
    • 회원은 목표 섭취량을 수정하기 위해 물마시기 챌린지를 수정할 수 있다.
    • 챌린지가 시작된 경우에는 수정이 불가능하다.
  • 물마시기 댓글 추가 기능
    • 회원은 현재 섭취량을 업데이트 하기 위해 물마시기 댓글을 추가할 수 있다.
  • 물마시기 댓글 조회 기능
    • 회원은 댓글을 조회할 수 있다.
    • 관리자는 모든 댓글을 조회할 수 있다.
  • 물마시기 댓글 수정 기능
    • 회원은 작성한 물마시기 댓글을 수정할 수 있다.
  • 물마시기 댓글 삭제 기능
    • 회원은 작성한 물마시기 댓글을 삭제할 수 있다.
    • 관리자는 댓글 관리는 위해 모든 물마시기 댓글을 삭제할 수 있다.

ERD

Image

프로젝트 목표

하나의 컨셉으로 여러 기능들을 기획, 구현하고 새로운 기술들을 활용하며 배포하기

기술 스택

  1. Spring JPA
  2. Spring Security
  3. JWT
  4. OAuth 2.0
  5. MySQL
  6. QueryDsl
  7. Redis
  8. Java Mail Sender
  9. Docker
  10. AWS S3
  11. AWS EC2
  12. AWS CloudFront

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages