Back to selected work

SeaBattle

A web version of Battleship built by a team of four, with accounts, game data, bomb results, persistent logs, roles and management features.

Full-stack development within the team

  • C#
  • ASP.NET Core MVC
  • Entity Framework Core
  • ASP.NET Identity
  • SQL
A modest entry point to the ASP.NET Core team assignment.
Context
UCLL team assignment
Team
Team of four
My role
Full-stack development within the team
Stack
C#, ASP.NET Core MVC, Entity Framework Core, Identity and SQL
Experience
Accounts, game state, logs, roles and administration

Project and context

SeaBattle was a school assignment completed by a team of four in which technical completeness mattered more than visual refinement. As a team, we translated the game into controllers, models, views and persistent data.

A modest entry point to the ASP.NET Core team assignment.

Game actions become persistent data

A bomb action connects a player, coordinate, game and result. The application stores every action so a game can be inspected later and the remaining-ship count stays accurate.

Every action produces a traceable result within the active game session.

Traceable game history

Persistent logs show who played, which coordinates were used, the result and when the action happened. This made the game rules and data flow traceable during development.

Persistent logs make game actions visible and traceable afterwards.

My role

My role was full-stack development within the four-person team. Because the exact feature allocation of this older project can no longer be fully reconstructed, I do not claim individual ownership of specific parts. This case therefore presents the shared technical result and my contribution within the ASP.NET Core stack.

Main challenge

The difficulty was maintaining correct relationships between users, games, ships, locations and actions. Administrative pages and roles also had to remain protected without losing sight of the game data.

Result

The interface is simple, but the application is functional and complete within the assignment. SeaBattle mainly shows that I can contribute within a team to a server-side application with authentication, persistence and domain logic.