개요
저번 포스팅에서는 프로젝트의 기획적인 의도를 얘기했다면 이번 포스팅에서는 개발적인 관점에서 접근하여 프로젝트의 초기 아키텍처를 설계하는 시간을 가져보겠다.
게임 개발을 위한 공통 시스템
게임 개발을 위한 공통 시스템을 구현하기 위해서는 우선 베이스가 되는 테이블이 하나 필요하다고 생각했다.
Gameple 시스템에 모든 베이스가 되는 테이블은 Game 테이블일 것이다.
Game 테이블은 게임의 이름(게임의 이니셜이 되어도 좋다)과 중복되지 않는 Unique한 코드인 Game Code라는 정보를 가지게 된다.
우리는 Game 테이블을 통해 Game Code라는 고유한 값을 가져올 수 있고 인증, 결제, 게임 서비스와 같은 모든 기능들 또한 Game Code 값을 바탕으로 데이터를 Read/Write 할 수 있도록 구현할 예정이다.
Workflow 설계
위 사진은 개발 초기단계에서 사용하기 위해 설계한 Workflow 전략이다.
Gameple 프로젝트는 2명에서 진행하며(추후 변동 가능성 있음) 기본적으로 Git 베이스의 협업 방식을 채택하려고 한다.
각 인원마다 각자의 Local Branch를 생성하여 개발할 수 있도록 하며 작업이 완료되었다면 PR 요청 후 검수자가 해당 커밋을 검토 후에 Dev(QA) Branch에 Merge 하고 기능 검수를 진행하는 구조로 진행하려고 한다.
Main Branch에는 Release된 안정적인 소스코드를 모아두고 작업자가 추가되었을 때 해당 Branch에서 소스코드를 땡겨올 수 있도록 할 것이다.
추후에는 webhook을 사용을 위한 Depoly Branch를 추가하고자 한다.
초기 개발 환경 세팅
다음 포스팅부터는 실제 Gameple 서비스를 개발하는 단계가 진행되기 때문에 미리 세팅하고 설치해야 되는 부분들에 대해 설명하겠다.
Gameple 서비스는 Java + SpringBoot + MySQL 환경에서 개발을 진행하려고 한다. (추후에 더 추가될 수 있음)
- Java 11
- IntelliJ
- MySQL 8.0
- MySQL WorkBench
- Postman
위의 목록들을 다운로드한 후 다음 포스팅부터 적용해 주면 될 거 같다.
IDE는 IntelliJ던 Eclipse던 자신이 활용하기 편한 것을 사용하면 되지만 모든 포스팅은 IntelliJ 기반으로 작성된다.
TDD를 위해 JUnit5로 유닛 테스트를 진행할 계획이며 Github를 통해 프로젝트를 관리하고 싶다면 Github에서 계정을 생성하고 Github Desktop을 다운로드해 자신의 계정과 연동시키는 단계까지 진행해 준다.
'Project > Gameple' 카테고리의 다른 글
[Project - Gameple] Project Gameple(6) - Game Entity 설계 (0) | 2023.07.16 |
---|---|
[Project - Gameple] Project Gameple(5) - Spring Security 적용하기 (0) | 2023.07.07 |
[Project - Gameple] Project Gameple(4) - Swagger 적용하기 (0) | 2023.06.29 |
[Project - Gameple] Project Gameple(3) - 프로젝트 생성 (0) | 2023.06.27 |
[Project - Gameple] Project Gameple(1) - 프로젝트 개요 (0) | 2023.06.25 |