tiennm99
|
cbad690565
|
docs,chore: single-port 1999 websocket protobuf
Phase 05 — sync infrastructure and documentation with the typed-protobuf
refactor:
- docker-compose.yml: drop 1024/1025 mappings, single "1999:1999"
- server/Dockerfile: EXPOSE 1999, -p 1999 entrypoint
- README.md: rewrite transport description, architecture diagram, protocol
section, server options, project structure, add proto:gen script note
- docs/project-overview.md: update transport + dependencies sections
- docs/system-architecture.md: rewrite diagrams + pipeline + file inventory
for the WebSocket-only typed-dispatch path
- docs/codebase-summary.md: refresh file tree, java package inventory,
gradle deps, vite deps, networking and game-flow sections
- docs/deployment-guide.md: single-port walkthrough for local / docker /
systemd / nginx; remove all 1024/1025 firewall and troubleshooting
- docs/code-standards.md: replace dead ServerEventListener_CODE_* class-name
example, fix sample ws:// URL to port 1999
|
2026-04-11 08:33:46 +07:00 |
|
tiennm99
|
b7ff184387
|
refactor: convert server from Maven to Gradle
Replace server/pom.xml with Gradle 9.2.1 (Kotlin DSL) + Shadow plugin
for fat jar packaging.
New files:
- server/build.gradle.kts (Kotlin DSL script)
- server/settings.gradle.kts
- server/gradle/wrapper/ (committed wrapper, pinned to 9.2.1)
- server/gradlew, gradlew.bat
Deleted:
- server/pom.xml
Gradle config:
- plugins: java, com.gradleup.shadow 8.3.5
- toolchain: JavaLanguageVersion.of(25) (auto-provisions if missing)
- deps: netty-all 4.1.115.Final, protobuf-java 3.25.5, gson 2.11.0,
junit-bom 5.11.3 + junit-jupiter (test)
- compiler: -parameters, UTF-8
- test: useJUnitPlatform()
- shadowJar: main class com.miti99.caro.server.SimpleServer,
mergeServiceFiles(), append META-INF/io.netty.versions.properties
- default assembly depends on shadowJar
Output path migration:
- server/target/caro-server-0.0.1-beta.jar moves under Gradle output conventions.
Infrastructure:
- server/Dockerfile: eclipse-temurin:25-jdk + committed wrapper
(no Maven image); runtime stage unchanged. COPY order optimized.
- .github/workflows/build.yml: setup-java temurin 25 +
gradle/actions/setup-gradle, run gradlew with -p server.
- .gitignore: add .gradle/, whitelist wrapper jar after *.jar rule.
Docs + README fully updated to Gradle commands across:
README.md, codebase-summary.md, code-standards.md, deployment-guide.md,
project-overview.md, system-architecture.md.
Validation: gradlew clean assemble check passes all 37 tests on Java 25.
|
2026-04-10 20:50:53 +07:00 |
|
tiennm99
|
a69fccbaf0
|
docs: sweep all docs + README for post-refactor state
Update root README + all 6 docs in ./docs/ to reflect the completed
monorepo refactor (server/ + client/, Java 25, gson, JUnit 5,
com.miti99.caro.{common,server}.*, caro-server 0.0.1-beta).
- README.md: quickstart commands, project structure, architecture
diagram; drop CLI + built-in web UI sections. Credits preserved
verbatim (Ratel/ainilili historical attribution).
- docs/codebase-summary.md: full rewrite — new directory tree,
package layout, build config, CI, version.
- docs/code-standards.md: package prefix (com.miti99.caro), Java 25
tools, modernization guidelines (records, var, switch expressions),
JUnit 5.
- docs/deployment-guide.md: full rewrite — Java 25 prereqs,
docker-compose path, standalone jar commands, nginx reverse proxy
updated, JUnit 5 test output, zero-downtime update flow.
- docs/project-overview-pdr.md: tech stack (Java 25 + gson + JUnit 5
+ shade), features matrix (no CLI/built-in UI), architecture
diagram, deps table, version history, quick start commands.
- docs/project-roadmap.md: add Phase 7 (2026-04-10 refactor) with
full change list; mark Phase 4 built-in UI as removed; update
version history with 0.0.1-beta; Decision 1 updated to Java 25.
- docs/system-architecture.md: full rewrite — Netty pipeline without
StaticFileHandler, new package layout, single-module dependency
graph, gson on WebSocket, Msg as record, deployment diagram with
docker-compose services, proto files staged for future use.
Grep verification: all remaining mentions of legacy names
(landlords-, org.nico.ratel, StaticFileHandler, I18nHelper, noson,
1.4.0) appear only in:
- the Phase 7 refactor description in project-roadmap.md
(intentional historical context)
- protoc-generated ClientTransferData.java / ServerTransferData.java
internal variable names and embedded descriptor byte strings
(public Java package is correct; preserving wire format)
|
2026-04-10 19:33:00 +07:00 |
|
tiennm99
|
ce101bd778
|
docs: add comprehensive project documentation
- project-overview-pdr.md: PDR, goals, features, tech stack
- system-architecture.md: diagrams, protocol, event codes, data flow
- codebase-summary.md: module breakdown, key classes, test structure
- code-standards.md: Java/JS conventions, JSDoc, Git rules
- deployment-guide.md: build, run, CI/CD, troubleshooting
- project-roadmap.md: completed phases, future ideas, decision log
|
2026-04-10 13:37:54 +07:00 |
|