Giter VIP home page Giter VIP logo

challenge-backend's Introduction

스파르타 내일배움캠프 3차 프로젝트 with Java/Spring - 피버타임

🔗 링크

🏠 소개

  • 챌린지를 설정하고 달성하기 위해 다른 참여자들과 함께 도전하고 인증하는 서비스입니다.

⏲️ 개발기간

🧙 맴버구성

📌 아키텍처

image

📌 3차 프로젝트 기술 스택&선택 이유 - WIKI 이동

  • Java - 개발 언어
  • Junit, Mockito - 자바 테스트 프레임워크
  • Spring boot - 웹 프레임워크
  • Spring Data JPA - JPA(Hibernate) : 자바 ORM 기술 표준
  • Spring Security - 인증&인가 프레임워크
  • Spring Rest Docs - API 자동 문서화
  • MySQL(AWS RDS) - 데이터베이스
  • Git - 형상관리
  • Github Actions - CI/CD
  • AWS S3, CloudFront - 프론트엔드 서버 인프라
  • AWS EB, ECR(Docker) - 백엔드 서버 인프라
  • AWS Route53, Certificate Manger - 공통 서버 인프라
  • nGrinder - 부하 테스트
  • AWS Lambda + Slack Webhook - 모니터링 시스템

📌 주요 기능 - WIKI 이동

User

  • Spring Security + JWT 로그인
  • OAuth 2.0 기반 카카오 로그인

Challenge

  • 로그인 유저만 챌린지 생성/참여
  • 오프라인 챌린지 장소 Kakao Map 키워드 검색 및 위치 설정
  • 챌린지 카테고리/제목 검색
  • 스케줄러를 활용한 챌린지 마감
  • 챌린지별 하루에 인증 한 번만 가능

Feed

  • 피드, 댓글 기능
  • 대댓글 기능

📌 ERD

FEVER-TIME

📌 부하 테스트 - WIKI 이동

📌 문제를 이렇게 해결했어요! - WIKI 이동

📌 Project History - WIKI 이동

📌 팀 문화 - WIKI 이동

📌 매일 회고록 - WIKI 이동

challenge-backend's People

Contributors

developerdale avatar junho-yh avatar kkyu8925 avatar suubinkim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

challenge-backend's Issues

피드 댓글 API 만들기

목적 : 자신이 등록한 댓글 내용을 수정하거나 삭제 할 수 있습니다.

  • 댓글 수정 API
  • 댓글 삭제 API

API 수정

  • 챌린지 참여 API
  • 챌린지 취소 API

챌린지 기간 종료시에는 수행이 안 되도록(예외 발생) 수정

챌린지 API

  • 챌린지 생성하기
  • 챌린지 삭제하기
  • 챌린지 리스크 가져오기

챌린지 인증 API

생성한 챌린지에 인증할 수 있는 API가 필요합니다

  • 챌린지 인증하기
  • 각 챌린지별로 인증 조회하기
  • 인증 삭제하기

피드 API

  • 피드 리스트 API

  • 피드 수정 API

  • 피드 등록 API

  • 피드 삭제 API

API 목적: 사용자의 소통을 활발하게 하기 위함입니다.

피드 페이지 validation

  • 피드 생성, 댓글 작성 시 공백은 생성할 수 없다. (FE, BE)
  • 피드, 댓글 수정 시 공백으로 할 수 없다. (FE, BE)

유저와 연관된 챌린지 리스트 API

  • 유저가 참가중인 챌린지 리스트 (1주차미션진행중, 1주차미션성공)
  • 유저가 실패한 챌린지 리스트
  • 유져가 참여한 챌린지 중 기간 종료된 챌린지

피드 댓글 API

  • 댓글 리스트 API

  • 댓글 등록 API

  • 댓글 수정 API

  • 댓글 삭제 API

사용자 의견 이슈

  • 챌린지 수정 (이미지와 주소 변경)
  • 챌린지 삭제 ( 사용자가 개설한 챌린지에 자신 이외에 다른 참여자가 없을때만 삭제 가능 )
  • 챌린지 기본이미지

유저 기능

  • 유저 로그인 JWT, Spring Security
  • 유저 회원가입
  • 카카오 로그인

관리자 API

  • 신고글 리스트 API
  • 신고글 삭제 API
  • 주문 리스트 API
  • 주문 리스트 삭제 API

예외처리

  • 피드 에외처리
  • 피드 댓글 예외처리
  • 챌린지 예외처리

본인 확인 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.