This project was a college assessment where I developed Monster Mayhem, a web-based board game played on a 10×10 grid. Each player controls one side of the board, and all turns are taken simultaneously, with the server updating the board after processing every move.
Each player controls one side of the board, and all turns are taken simultaneously, with the server updating the board after processing every move.
Core Functionality
• Players can place a vampire, werewolf, or ghost on their edge (new pieces cant move that turn) and move existing monsters horizontally or vertically any distance, or up to two squares diagonally. They could move over their own monsters, but not opponents.
• If two monsters would end on the same square:
• Vampire beats Werewolf
• Werewolf beats Ghost
• Ghost beats Vampire
• Same type → both removed
• A player’s turn ends when they choose or have no moves left. A round ends once everyone has played. A player is eliminated when 10 of their monsters are removed, and the last remaining player wins.
• Requirements:
• Player accounts
• Save/resume games
• Display total games played
• Show player win/loss stats
• Store all data in a database
• Server built with JavaScript + Node.js
For this section of the assessment, I had to create a full testing setup for your backend. Work had to include:
• API Tests Verify all main endpoints, check correct responses and errors, and confirm the database updates as expected.
• Authentication Tests Test registration, login, token validation, and access to protected routes.
• Test Users Create users for valid, invalid, duplicate, and token-based scenarios.
• plan.md A brief document explaining your testing approach, tools, and the main cases covered.
The goal was to ensure my backend was fully tested, reliable, and would behave correctly in all expected situations.