feat(highscores): add SQLite Axum service
Add a small standalone Axum service for the shared anonymous top-ten table. SQLite keeps the deployment self-contained, while one transaction inserts a validated name and score and removes entries below the canonical top ten. Expose a health endpoint and same-origin API, with an nginx proxy block and run instructions beside the service. Keep the service outside the game crate so native gameplay persistence remains unchanged. Test Plan: - `cargo test --manifest-path highscore-server/Cargo.toml` -- passed (3 tests) - `cargo clippy --manifest-path highscore-server/Cargo.toml --all-targets --all-features -- -D warnings` -- passed - `cargo +nightly fmt --manifest-path highscore-server/Cargo.toml -- --check` -- passed - Live executable health, POST, and GET smoke test -- passed - `git diff --cached --check` -- passed
This commit is contained in:
+11
-2
@@ -19,6 +19,15 @@ web-build:
|
||||
web-serve: web-build
|
||||
python3 -m http.server 8000 --directory web
|
||||
|
||||
highscore-server:
|
||||
cargo run --manifest-path highscore-server/Cargo.toml
|
||||
|
||||
test-highscore-server:
|
||||
cargo test --manifest-path highscore-server/Cargo.toml
|
||||
|
||||
clippy-highscore-server:
|
||||
cargo clippy --manifest-path highscore-server/Cargo.toml --all-targets --all-features -- -D warnings
|
||||
|
||||
fmt:
|
||||
cargo +nightly fmt
|
||||
tombi format
|
||||
@@ -32,10 +41,10 @@ _fix:
|
||||
|
||||
fix: _fix fmt
|
||||
|
||||
clippy:
|
||||
clippy: clippy-highscore-server
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||
|
||||
test:
|
||||
test: test-highscore-server
|
||||
cargo test --workspace --all-targets --all-features
|
||||
|
||||
clean:
|
||||
|
||||
Reference in New Issue
Block a user