Skip to content

OnePage-org/coupong-backend

Repository files navigation

0. Getting Started (시작하기)

$ ./gradlew clean build -x test 
$ docker compose up --build -d

----> 서비스 링크 <----



1. Project Overview (프로젝트 개요)

  • 프로젝트 이름: Coupong
  • 프로젝트 설명: 선착순 쿠폰 이벤트 플랫폼


2. Team Members (팀원 및 팀 소개)

진명인 백효석 심지혜 강희준
진명인 백효석 심지혜 강희준
BE BE BE BE
GitHub GitHub GitHub GitHub


3. Key Features (주요 기능)

  • 인증/인가:

    • 일반 유저는 쿠폰 이벤트 메인페이지, 관리자는 이벤트 등록 페이지로 이동합니다. Security
    • 카카오톡, 네이버 그리고 플랫폼 자체 로그인 총 3가지의 로그인 방식이 있습니다. OAuth
  • 쿠폰 이벤트:

    • 매일 밤 자정, 이벤트 목록이 초기화됩니다. 스케줄러 동적 할당
    • 이벤트는 카테고리별로 동일한 날짜, 동일한 시간대에 여러 이벤트가 진행될 수 있습니다. 멀티 스케줄러
  • 실시간 채팅:

    • 이벤트가 진행 중이거나 진행 중이지 않을 때에도, 유저끼리 실시간 채팅 서비스를 즐길 수 있습니다. Web Soket
    • 금칙어 필터링 시스템이 실시간으로 부적절한 챗 메시지를 잡아냅니다. 허용어는 예외처리하고 우회단어는 금칙어와 동일하게 잡아냅니다. 아호-코라식
  • 리더보드:

    • 쿠폰 이벤트에 당첨된 사람은 실시간으로 리더보드에 등록됩니다. SSE
    • 이벤트 카테고리별로 당첨자들의 순위를 매깁니다. 기준은 발행 요청 시각입니다. Sorted Set


4. Tasks & Responsibilities (작업 및 역할 분담)

진명인 진명인
  • 프로젝트 기획 및 리딩
  • 인프라 구축 (WAS)
  • 쿠폰 이벤트 시스템
  • 금칙어 필터링 시스템
백효석 백효석
  • 인증/인가 시스템
  • 서버 부하 테스트
  • 금칙어 필터링 시스템
심지혜 심지혜
  • 실시간 채팅 시스템
  • 개발 문서 정리
  • QA
강희준 강희준
  • 리더보드 시스템
  • 인프라 구축 (Web Server)
  • QA

5. Technology Stack (기술 스택)

5.1 Backend

JAVA JAVA
Spring Boot Spring Boot
Spring Security Spring Security
JUnit JUnit

5.2 Frotend

React React latest
CSS3 CSS3 latest
Javascript Javascript latest

5.3 DBMS

Redis Redis latest
MySQL Redis latest

5.3 Infra

AWS AWS
Docker Docker
Stomp Stomp
SSE SSE

5.4 Cooperation

Git git
Figma Figma
Notion Notion

6. Project Structure (프로젝트 구조)

main
└── java
    └── com
        └── onepage
            └── coupong
                ├── chat
                └── coupon
                    ├── api
                    ├── config
                    ├── domain
                    ├── dto
                    ├── exception
                    ├── repository
                    └── service
                ├── global
                ├── infrastructure
                ├── leaderboard
                └── user
└── CoupongApplication
resources
test
└── java
    └── com
        └── onepage
            └── coupong
                └── couponEventTest
                    ├── CouponEventSchedulerTest.java
                    ├── CouponEventServiceIntegrationTest
                    └── CoupongApplicationTests


7. Development Workflow (개발 워크플로우)

브랜치 전략 (Branch Strategy)

우리의 브랜치 전략은 Git Flow를 기반으로 하며, 다음과 같은 브랜치를 사용합니다.

  • main

    • 배포 가능한 상태의 코드를 유지합니다.
    • 모든 배포는 이 브랜치에서 이루어집니다.
  • develop/{feature/release/refactoring...}

    • 팀원 각자의 개발 브랜치입니다.
    • 모든 기능 개발은 이 브랜치에서 이루어집니다.


8. ERD

React

9. 시스템 아키텍처

React

10. 인터페이스 설계

React React React

11. 인증•인가 플로우

React

12. 쿠폰 이벤트 시스템 프로세스

React

13. 금칙어 필터링 시스템 프로세스

React React

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •