The Backend of the Game as a Lobby platform.
Lobby-Platform-Service 是一個遊戲大廳平台的後端,提供API和服務,可以讓遊戲開發者輕鬆地將自己的遊戲添加到平台中供玩家使用。該項目主要目的是提供一個統一的遊戲大廳平台,讓玩家可以方便地找到各種類型的遊戲。
- 前端網頁:https://lobby.gaas.waterballsa.tw ↗ 上查看我們的示例,該示例演示瞭如何在平台上查找遊戲和創建遊戲房間。
- 後端API:swagger API文檔使用swagger,在API文檔中,你可以找到關於如何使用平台API的詳細信息,包括API調用的參數、請求和響應格式等。
- JDK 1.17 +
- Maven 3.5 +
- IntelliJ IDEA 2023.2 +
- Mongodb 4.0.2 +
- 部屬環境:AWS EC2
- ATDD -- 驗收驅動開發,以使用者功能使用的角度寫e2e測試。
- Clean Architecture -- 乾淨架構
Tech Stack | Version | Description |
---|---|---|
Spring Boot | 2.7.10 | Spring Boot 是一個個基於Java 的開源框架。 主要是為了簡化Spring框架,並做到自動配置。 |
Spring-boot-starter-data-mongodb | - | Spring Boot連結Mongodb的服務的套件 |
Springdoc-openapi | - | Spring 整合 swagger的服務套件 |
Docker | - | 一種Container實現的技術 |
如果你想在本地運行該項目,你需要做以下幾件事:
### 克隆項目到本地
git clone https://github.com/Game-as-a-Service/Lobby-Platform-Service.git
### 進入到項目目錄:
cd Lobby-Platform-Service
### 安裝
mvn clean install
### 啟動,找到spring目錄裡的
LobbyPlatformApplication.kt
### 在瀏覽器打開:
http://localhost:8087/swagger-ui/index.html
這個項目採用DDD分模塊的開發方式,遵循根據領域模型來創建軟體系統的開發理念,將業務邏輯和實體類與應用程序的其他部分分離。 在DDD中,通常會將應用程序分為三個層次:應用層、領域層和基礎設施層。以實現分離關注點的目的。
-
Application Layer(應用層):負責協調應用程序的各個部分,將用戶的輸入轉換為對領域層的調用,並將領域層返回的結果轉換為用戶可以理解的格式。在Spring中,應用層通常由控制器和服務實現類組成。
-
Domain Layer(領域層):包含應用程序的核心業務邏輯和實體類。在領域層中,將根據領域模型來創建實體類、值對象和聚合根等,實現業務邏輯。在Spring中,領域層通常由領域模型和服務實現類組成。
-
spring-Infrastructure Layer(基礎設施層):包含應用程序的基礎設施代碼,及應用程序的業務邏輯和應用程序的入口點。 包含應用程序的Spring配置和依賴項,例如數據訪問、事務管理和Web MVC等基礎建設。在Spring中,基礎設施層通常由數據訪問、事務管理和Web MVC等組件組成。
Made with contrib.rocks.