Week4

Week #4 #

Testing and QA #

Server-side logic now has 7 unit tests covering core request/response handlers and edge-case packet validation. Tests run automatically in the CI workflow on every push and PR to dev; the job fails the build if any test breaks. Average code coverage is moderate (exact % not yet exported).

Evidence of test execution #

Api image 1

Api image 1

CI/CD #

GitHub Actions workflows build, test and publish Docker images to GHCR.

  • prod-server-deploy.yml and stage-server-deploy.yml run on main and dev respectively.
  • Secrets are stored in GitHub Secrets; no credentials are committed.
  • Pipeline steps: run tests ➜ build image ➜ push to GHCR ➜ pull & restart container on target server.
  • Stage (port 8050) and Prod (port 9050) deploy jobs are isolated.
  • Hardening, container health-checks, and secret management implemented in commit f0a1945e….

Deployment #

Staging #

Automatically built from dev and deployed via Docker Compose to 77.233.222.200:8050.

Production #

Built from main and deployed via Docker Compose to 77.233.222.200:9050 on a hardened VPS.

Vibe Check #

Team morale is high. No blockers were reported, collaboration is smooth, and everyone feels heard.

Weekly commitments #

Individual contribution of each participant #

All participants: attended calls, decision discussions, retrospectives, and performed code reviews.

Plan for Next Week #

  • Complete the client-side logic for mutual client-server packet exchange based on UDP
  • Update and finalize the logic for bullet hits and dealing specific damage depending on weapon type, ammunition, hit location, etc.
  • Conduct code review and improve overall performance
  • Systematize and organize the server code architecture to improve code quality and readability
  • Search for and fix bugs, if any are present
  • Improve test coverage, write new tests, and provide more useful information
  • Enhance the project’s logging and monitoring system

Confirmation of the code’s operability #

We confirm that the code in the main branch:

  • In working condition.
  • Run via docker-compose (or another alternative described in the README.md).