I would like to implement gambling website with the following possibilities:
- as a player I would like to get list of games
- As a player I would like to like games
- As a player I would like to see recommended games(based on likes or time spent on a particular game by users)
- As a player I would like to start/end a particular game
For above requirements, I will need at least 3 micro services from my opinion:
- GameCatalog Service - it will contains games and categories of games
- GameRecommendation Service - it will analyze which game is commended for any users or particular user based on likes and time spent on a game
- UserManagement Service - it will contains user accounts
Microservices will be communicate to each other by Apache Kafka. Each microservice will have own database.
What else microservice I should have to like or start/end games in this scope?
Should 'like' functionality be in GameRecommendation Service as well?
Where is better to keep data concerning likes and 'timeSpent' in GameRecommendation service database or another one?