Skip to content

scala-academy/akka-crashcourse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stories in Ready Build Status Codacy Badge Codacy Badge

akka-crashcourse

Project for getting a feeling of Akka for a small group of engineers

Basic idea is to together develop a game server that hosts games of Battleship. As a sarting point, the game logic is provided.

TODO before starting:

  • refine user stories, make automatable acceptance criteria

It is up to the engineers to:

  • (Reactive principles) rewrite some of the game logic to reactive, using asynchronuous message passing
  • (Akka-http) implement an http api based on akka-http
  • (CQRS / Sharding / Persistence) implement event sourcing for the gamestate (incl refactoring of gamestate to suit event sourcing)
  • (Actor design) implement a distributed version of placeBoats, every boat being an actor and finding their own way on the battlefield
    • (Timeouts, supervision) When one of the boat actors does not respond, manage this
  • (Routing / Scaling) use routing actor to let multiple random players play the game (these have bad performance)
  • (Akka FSM) Creating a new game should be in iterative process: first the players are chosen, then (optionally) the size of the grid and the types of boats are defined, and then the game can be started
  • (Akka FSM) The Game actor has states in which it is waiting for a player, this can be done using Akka FSM
  • (Gatling) We need a performance test to finetune the implemented features
  • (Streams) - replayen/spectaten van games, data analyse op games, misschien score-/ladder-/mostactive-dashboardgeneratie oid?
  • (Replicated Data) - Maintain a list of all players in the game and how much they've won/lost

About

Project for getting a feeling of Akka

Resources

Stars

Watchers

Forks

Packages

No packages published