Skip to content

timber3/CodeArena

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🖥 SSAFY 2학기 공통 프로젝트 - CodeArena

🎥 시연영상

🪪 개요

코딩이 선택이 아닌 필수가 되어가는 단계에서

프로그래머로서 취업하기 위한 첫 발판인 코딩테스트를 즐겁게!

코딩테스트가 대부분의 프로그래머에게 가장 신경쓰이고 힘든 요소 중 하나입니다.

이런 코딩테스트 학습의 경우, 혼자서 충분한 시간을 갖고 공부하는것도 중요하지만

"내가 이제 어느정도 실력일까?" 혹은 "혼자 하니까 따분해" 라는 생각이 들 수 있습니다.

코드아레나는 기본적인 다른 온라인 저지 사이트에서의 장점들을 모으고

코드아레나만의 특색인 레이팅 매칭 시스템을 추가함으로서 재미있는 학습을 할 수 있도록 장려합니다.

🚩 개발기간

[프로젝트 일정]
진행 기간 2024.01.03 - 2024.02.16
인원 6명

🤓 팀원 구성 🤓

김회창

팀장

Back-end

매칭서버 개발

Problem Solving API 개발

인프라 구축

김정현

팀원

Back-end

아레나 게임서버 개발

알림 & 게시판 API 개발

화면공유 시스템 관리

이귀현

팀원

Front-end

아레나 컴포넌트 개발

장세정

팀원

Front-end

알림 & 게시판 컴포넌트 개발

회원 컴포넌트 개발

오승현

팀원

Back-end

채점서버 개발

회원관리 API 개발

양건우

팀원

Front-end

Problem Solving 컴포넌트 개발

화면 공유 컴포넌트 개발


📌 커밋 컨벤션

[Feat]     : 기능 개발
[Modify]   : 코드 수정
[fix]      : 긴급 수정
[Docs]     : 문서 작업
[Test]     : 테스트 코드
[Design]   : CSS, UI 수정
[Remove]   : 파일 삭제
[Refactor] : 리팩토링

📌 코드 컨벤션

Back-End
- 함수명을 작성할 때는 동사+명사 형태로 구성
- 함수명은 Camel-Case로 작성
- Package Depth == 3Depth
- servlet.context-path는 해당 WAS를 나타낼 수 있도록 작성
- Endpoint는 해당 리소스를 나타낼 수 있도록 작성
- 한줄 주석은 //, 여러 줄 주석은 /** */으로 작성

📃 개발 환경

⚒️ Back-End

  • Springboot 3.2.2
  • InteliJ
  • JDK 17
  • AWS EC2
  • AWS S3
  • MySQL
  • Redis
  • WebSocket&STOMP
  • Nginx
  • OpenVidu

⚒️ Front-End

  • React
  • Visual Studio
  • TailwindCSS
  • OpenVidu

⚒️ CI/CD

  • Jenkins

⚒️ 협업 툴

  • Gerrit
  • GitLab

📝 API 명세서

노션 링크 첨부 🔗

https://efficient-liver-208.notion.site/API-a1db160026a44efa971c6dc31fa2a88a

⚙️ ERD 다이어그램

ERD Cloud 사이트로 제작 및 링크 첨부 🔗

https://www.erdcloud.com/d/nrfqSDdChRWJpanzz

📌 브랜치 전략

Git-Flow 전략 및 Github-Flow을 기반으로 한 커스텀 전략 채택

  • 사용 브랜치

    • feature : 기능개발
    • fix : 긴급 수정
    • develop : CI/CD Hook 브랜치
  • Gerrit 사용 전략

    • feature 브랜치에서 기능구현이 완료되면 원격 EC2 Gerrit으로 HEAD:refs/for/[브랜치명]으로 Commit&Push로 리뷰 Open
    • 1차적으로 마니또 리뷰어가 코드리뷰 진행 및 Submit
    • 마니또의 일정이 바쁘다면 같은 포지션 동료가 코드리뷰 진행
    • 리뷰 승인 이후 develop으로 merge 후 CI/CD 배포
  • 브랜치 명명 규칙

    • feature/기능 명시-{BE or FE}
      • FE Example : feature/login-FE
      • BE Example : fix/login-BE

⚙ 서비스 아키텍쳐

Architecture

🎬 Figma Design

Main

Main



Login

Main





Community

Main





Problem Solving

Main




Main




Main





Arena Main

Main





MyPage

Main





Matching

Main





INGAME

Main





SPECTATORS

Main





RESULT

Main





주요 기능

메인 화면

Main

문제 풀이

Main

마이 페이지

Main

아레나 통계

Main

매칭 진행

매칭진행

스피드전 진행, 화면공유 그리고 결과

스피드전진행

효율전 진행, 중간 채점현황

효율게임진행

관전자 배팅 및 채팅

관전자,베팅

About

ssafy 공통 프로젝트 - 코드 아레나

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published