Skip to content

kimdozzi/TeamTheGenius_Server

 
 

Repository files navigation

image


🙋‍♂️ 프로젝트 소개

🔥 GitGet은 챌린지 참여와 인증 활동을 통해 규칙적인 공부 습관을 도와주는 서비스입니다.

🙋🏻‍♂️Github 계정 연동을 통해 챌린지 활동을 인증할 수 있으며, 다른 참여자들의 인증 현황을 조회할 수 있습니다.

🎯 챌린지에 설정되어 있는 목표 달성 시 포인트가 주어지며, 이를 통해 아이템을 구매하고 사용할 수 있습니다.


🖥️ 기술 스택

Framework -

ORM -

Authorization -

Test -

Database -

DevOps -

Monitoring -

Other -



개발 환경

Java : 17
Spring Boot : 3.2.1
build : gradle



다운로드 방법

git clone https://github.com/TeamTheGenius/TeamTheGenius_Server.git



화면 설계서

image



주요 기능

로그인 / Github 연동

  • 사용자는 회원가입을 통해 서비스를 이용할 수 있습니다.
  • 챌린지에 참여하기 위해서는 Github Access Token 인증 과정을 필수로 진행해야 합니다.
  • Pull Request 작업으로 사용자 Repository와 서비스가 연결되었는 지 확인이 필요합니다. 참여하고자 하는 브랜치에서 아무 작업을 진행하고, PR을 등록하여 등록 여부를 확인해주세요.

image


홈 화면

  • 사용자는 참여하고자 하는 챌린지를 둘러볼 수 있습니다. 인기, 신규, 추천 카테고리를 이용 가능합니다.
  • 검색을 통해 종료된 챌린지, 진행 중인 챌린지, 참여가 가능한 챌린지 목록을 확인할 수 있습니다.

image


챌린지 인증 현황

  • 참가자 인증 현황을 클릭하면 본인을 포함한 다른 참여자들의 인증 현황을 일주일 단위로 조회할 수 있습니다.
  • 인증 내역을 확인하고 싶은 일자를 선택하면 그 날의 인증에 사용된 Github PR 목록 조회가 가능합니다.
  • 조회한 Github PR 목록 중 구경하고 싶은 PR이 있다면, 해당 링크를 눌러 이동이 가능합니다.

image



배포 플로우

image



데이터베이스

image



아키텍처

.
├── main
│   ├── java
│   │   └── com
│   │       └── genius
│   │           └── gitget
│   │               ├── admin
│   │               │   ├── signout
│   │               │   └── topic
│   │               │       ├── controller
│   │               │       ├── domain
│   │               │       ├── dto
│   │               │       ├── repository
│   │               │       └── service
│   │               ├── challenge
│   │               │   ├── certification
│   │               │   │   ├── controller
│   │               │   │   ├── domain
│   │               │   │   ├── dto
│   │               │   │   │   └── github
│   │               │   │   ├── repository
│   │               │   │   ├── service
│   │               │   │   └── util
│   │               │   ├── instance
│   │               │   │   ├── controller
│   │               │   │   ├── domain
│   │               │   │   ├── dto
│   │               │   │   │   ├── crud
│   │               │   │   │   ├── detail
│   │               │   │   │   ├── home
│   │               │   │   │   └── search
│   │               │   │   ├── repository
│   │               │   │   └── service
│   │               │   ├── likes
│   │               │   │   ├── controller
│   │               │   │   ├── domain
│   │               │   │   ├── dto
│   │               │   │   ├── repository
│   │               │   │   └── service
│   │               │   ├── myChallenge
│   │               │   │   ├── controller
│   │               │   │   ├── dto
│   │               │   │   └── service
│   │               │   ├── participant
│   │               │   │   ├── domain
│   │               │   │   ├── repository
│   │               │   │   └── service
│   │               │   ├── report
│   │               │   │   ├── controller
│   │               │   │   ├── domain
│   │               │   │   ├── dto
│   │               │   │   ├── repository
│   │               │   │   └── service
│   │               │   └── user
│   │               │       ├── controller
│   │               │       ├── domain
│   │               │       ├── dto
│   │               │       ├── repository
│   │               │       └── service
│   │               ├── global
│   │               │   ├── file
│   │               │   │   ├── controller
│   │               │   │   ├── domain
│   │               │   │   ├── dto
│   │               │   │   ├── repository
│   │               │   │   └── service
│   │               │   ├── security
│   │               │   │   ├── config
│   │               │   │   ├── constants
│   │               │   │   ├── controller
│   │               │   │   ├── domain
│   │               │   │   ├── dto
│   │               │   │   ├── filter
│   │               │   │   ├── handler
│   │               │   │   ├── info
│   │               │   │   │   └── impl
│   │               │   │   ├── repository
│   │               │   │   └── service
│   │               │   └── util
│   │               │       ├── config
│   │               │       ├── domain
│   │               │       ├── exception
│   │               │       ├── formatter
│   │               │       └── response
│   │               │           └── dto
│   │               ├── profile
│   │               │   ├── controller
│   │               │   ├── dto
│   │               │   └── service
│   │               ├── schedule
│   │               │   ├── controller
│   │               │   └── service
│   │               └── store
│   │                   ├── item
│   │                   │   ├── controller
│   │                   │   ├── domain
│   │                   │   ├── dto
│   │                   │   ├── repository
│   │                   │   └── service
│   │                   └── payment
│   │                       ├── config
│   │                       ├── controller
│   │                       ├── domain
│   │                       ├── dto
│   │                       ├── repository
│   │                       └── service
│   └── resources
└── test
    ├── java
    │   └── com
    │       └── genius
    │           └── gitget
    │               ├── admin
    │               │   └── topic
    │               │       ├── controller
    │               │       ├── repository
    │               │       └── service
    │               ├── challenge
    │               │   ├── certification
    │               │   │   ├── controller
    │               │   │   ├── repository
    │               │   │   ├── service
    │               │   │   └── util
    │               │   ├── home
    │               │   │   ├── controller
    │               │   │   └── service
    │               │   ├── instance
    │               │   │   ├── controller
    │               │   │   ├── repository
    │               │   │   └── service
    │               │   ├── item
    │               │   │   └── service
    │               │   ├── likes
    │               │   │   ├── controller
    │               │   │   └── service
    │               │   ├── myChallenge
    │               │   │   └── service
    │               │   ├── participant
    │               │   │   └── service
    │               │   └── user
    │               │       ├── controller
    │               │       ├── domain
    │               │       ├── repository
    │               │       └── service
    │               ├── global
    │               │   ├── file
    │               │   │   ├── domain
    │               │   │   ├── repository
    │               │   │   └── service
    │               │   └── security
    │               │       ├── config
    │               │       ├── controller
    │               │       └── service
    │               ├── payment
    │               │   ├── controller
    │               │   └── service
    │               ├── profile
    │               │   ├── controller
    │               │   └── service
    │               └── util
    │                   └── file
    └── resources



기여자





About

꾸준한 공부 습관 만들기, GitGet!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.4%
  • Shell 0.6%