개요 저번 포스팅에서는 프로젝트를 생성하고 DB를 연결하여 애플리케이션을 실행하는 단계까지 진행했었다. 이번 포스팅에서는 프로젝트에 Swaager를 연동하는 시간을 가져보겠다. Swagger란? 우리가 개발한 API들을 문서화해주고 이를 Swagger UI 상에서 API를 직접 호출하여 응답을 받아낼 수 있는 편리한 API 문서화 및 테스트 환경을 제공해 주는 툴이다. 이와 비슷하게 Spring REST Docs라는 것도 있는데 궁금하다면 아래 링크를 통해 알아보자. https://spring.io/projects/spring-restdocs Swagger를 적용하는 이유 Swagger를 적용하는 가장 핵심적인 이유는 API의 명세이다. 물론 Gameple 프로젝트는 API만 개발할 예정 중에 있지만 도..
개요 저번 포스팅에서는 프로젝트의 초기 아키텍처와 Workflow를 수립했다. 이번 포스팅에서는 서비스를 개발하기 위해 프로젝트를 생성하고 간단하게 구동해보는 시간을 가져보겠다. 프로젝트 생성 https://start.spring.io/ 해당 사이트에 접속하여 프로젝트를 생성해주자 Java 11, SpringBoot 2.7.14 및 Gradle, Jar 기반으로 애플리케이션을 생성해준다. 또한 아래와 같은 의존성들을 추가해준다. Spring Web Spring Data JPA Lombok MySQL Driver 프로젝트 실행 프로젝트 최초 실행시 위 사진과 같은 에러를 만날 수 있을 것이다. 내용을 읽어보면 DB가 연결되어 있지 않아서 실행에 실패했다는 것을 알 수 있다. 이를 해결하기 위해 DB를 연결..
개요 저번 포스팅에서는 프로젝트의 기획적인 의도를 얘기했다면 이번 포스팅에서는 개발적인 관점에서 접근하여 프로젝트의 초기 아키텍처를 설계하는 시간을 가져보겠다. 게임 개발을 위한 공통 시스템 게임 개발을 위한 공통 시스템을 구현하기 위해서는 우선 베이스가 되는 테이블이 하나 필요하다고 생각했다. Gameple 시스템에 모든 베이스가 되는 테이블은 Game 테이블일 것이다. Game 테이블은 게임의 이름(게임의 이니셜이 되어도 좋다)과 중복되지 않는 Unique한 코드인 Game Code라는 정보를 가지게 된다. 우리는 Game 테이블을 통해 Game Code라는 고유한 값을 가져올 수 있고 인증, 결제, 게임 서비스와 같은 모든 기능들 또한 Game Code 값을 바탕으로 데이터를 Read/Write 할..
개요 이번 글에서는 통합 게임 서비스 플랫폼 Gameple을 제작하고 제작 플로우를 공유하기 위한 전체적인 프로젝트 개요에 대해 설명을 하려고 한다. 게임 서비스 플랫폼이란? 위 이미지는 게임빌컴투스에서 제공 중인 게임 전문 플랫폼 하이브(Hive)이다. 해당 플랫폼을 살펴보면 게임의 인증, 푸시, 빌링 등의 기능들을 제공하여 게임 개발에 필요한 공통 기능들을 빠르게 적용할 수 있도록 제공해 주고 있다. 이렇듯 게임 서비스 플랫폼은 게임 개발을 위한 필수 기능들을 SDK와 같은 형태로 제공하여 쉽고 빠르게 게임 공통 기능을 구현할 수 있는 서비스를 의미한다. Project Gameple Gameple 프로젝트 또한 인증, 푸시, 빌링, 게임 운영과 같은 게임에 필요한 공통 기능들을 API 형태로 제공하는..