/Maple-Cheater

Maplestory (Nexon) 에서 사기 캐릭터 검색을 통한 유저간 신뢰 기반 거래를 도와주는 커뮤니티 프로젝트 입니다.

Primary LanguageJava

logo

본 프로젝트는 사용자 참여형커뮤니티 프로젝트로, 사용자들의 제보로 사기 캐릭터를 확인할 수 있는 커뮤니티 프로젝트입니다.

badge-react badge-react badge-react badge-react badge-react badge-react badge-react badge-react

📝 목차


🔖 기획 의도 및 기능 명세

📌 기획 의도

  • 게임 내에서 유저간 신뢰 기반 거래에서 발생할 수 있는 모든 거래에서 사기를 미리 예방할 수 있도록 한다.

📌 기능 명세

  • 유저 관리
    • 회원가입
      • 이메일 인증
    • 비밀번호 찾기
      • 임시 비밀번호 보내기
    • 로그인
  • 조회
    • 치터 캐릭터 조회
    • 내 신고 이력 확인
  • 피해 사례 업로드
    • 피해 사례 업로드
      • 거래 서버
      • 거래 물품 (현금 거래, 주문서작, 사냥터 비매너)
      • 치터 정보 및 문제 상황
      • 증거 사진 업로드
      • 거래 시간
  • 삭제 요청
    • 삭제 요청 (by google form)
  • 관리자
    • 피해 사례 확인
    • 신고서 삭제 및 등록 거부
    • 사기 용의 캐릭터 등록
  • Guideline
    • 개인정보처리방침
    • 커뮤니티 가이드라인

⛳️ 프로젝트 소개

📌 기술 스택

skill
  • Frontend
    • Library : React.js
    • Framework : Next.js
    • Styling : styled-components, material-ui, react-icons, styled-reset
    • Communication Module : Axios
    • Global State Managing : Redux, Redux-Thunk
  • Backend
    • Framework : Spring Boot
    • Data : Spring Data JPA
    • Mail : Spring Boot Starter Mail
    • Querying : Querydsl
    • Auth : Spring Security + JWT
    • Testing : JUnit5, BDDMockito, Mockito
    • Build : gradle
    • Database : mysql
    • Serialization Format : JSON
  • Infrastructure
    • Container Runtime : Docker
    • Computing Engine : NHN Cloud Instance
    • Static File Storage Server : AWS S3
    • Reverse Proxy : Nginx-Proxy
  • Etc..
    • Git Branch Strategy : Gitflow
    • Issue Tracking : Github Issue
    • ERD : vuerd

📌 배포 구조

infra
  • DB Instance 와 Application Instance 는 동일 VPC의 내부망 통신을 수행함
  • File Upload 를 위해 S3 에 Object Upload를 수행할 때 MultipartFile -> File 변환 과정으로 인한 공격 벡터가 있으므로 DB Instance와 물리적 망분리