Skip to content

Coding test for OFX. Battleship state tracker

License

Notifications You must be signed in to change notification settings

peterorjeff/Ofx.Battleship

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OFX Battleship State Tracker

This repo is a coding test for OFX, with an implementation of a Battleship state tracker API.

The Task

The task is to implement a Battleship state tracking API for a single player that must support the following logic:

  • Create a board
  • Add a battleship to the board
  • Take an “attack” at a given position, and report back whether the attack resulted in a hit or a miss.

The API should not support the entire game, just the state tracker. No graphical interface or persistence layer is required.

Overview

I have attempted to follow clean archtitecture with a CQRS implementation. The implementation is split into the following layers:

Unit and Integration testing has been added for:

  • Commands
  • Command Validation
  • Controllers

Deployment

The application has been deployed to AWS and is available here: http://battleship-alb-1867546237.ap-southeast-2.elb.amazonaws.com/api
Swagger / OpenAPI docs available here: http://battleship-alb-1867546237.ap-southeast-2.elb.amazonaws.com/index.html

References

I made use of several libraries to aid clean architecture:

About

Coding test for OFX. Battleship state tracker

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published