All files related to backend are in inno.kanban.KanbanSimulator package There 8 main packages:
- config - all related to web and swagger configuration
- controller - all controller logic
- dao - data access object package
- dto - data transfer object packages
- exception - package with different exception
- model - all database entities
- service - classes with buissiness logic
- utils - utility classes
- RoomController
- createRoom - method to create the room
- joinRoom - method to join the room
- startTheGame - method to start the game (available for room creator)
- checkRoomState - method to check the room state (used for long polling from front end)
- BoardController
- getOrCreateBoard - method for getting the board for team if existing, otherwise creates the new board
- startDay - method to start a new day
- movePerson - method to move the person from card or to card
- moveCard - method to move card from column to column or in one column
- setWipLimit - method to set work in progress limit
- getWipLimit - method to get current work in progress limit
- StatisticsController
- getStatistics - method to get statistics when the game ended
All methods and dtos are described more precisely in swagger