VSU-CS-MCS / recommendations-service

1 stars 0 forks source link

Research: architecture for Python + neural network service #7

Closed savin000 closed 1 year ago

Mr-Keltt commented 1 year ago

To build a movie recommendation application based on a person's emotions, you can use a microservice architecture. The architecture may include the following services:

  1. User Service - is a service that provides user interaction with the web interface of the application. It will interact with other services to get movie recommendations and other information needed for the user interface.
  2. Emotion Analysis Service - is a service that will receive user reviews and analyze them for the presence of positive or negative emotions. This service can use a neural network to analyze the tonality of the text and identify the user's emotions.
  3. Movie Recommendation Service - is a service that will receive data about user preferences and analyze them to suggest the most suitable movies to watch. This service can use collaborative filtering or other recommendation algorithms to determine the best movies for the user.
  4. Database Service - is a service that will store data about users, reviews, movies and other necessary entities.

All services can communicate with each other over the HTTP protocol using the REST API. For example, a UI service can send requests to an emotion analysis service, and an emotion analysis service can send requests to a movie search service. Each service can be implemented as a separate microservice that runs in a separate container. Network orchestration mechanisms can be used between services, for example, Kubernetes or Docker Compose.

Mr-Keltt commented 1 year ago

Image

savin000 commented 1 year ago

Very nice explanation. We will think more about overall architecture on the next week (I do not really understand why do we need separated DB service here. User service can use it's own DB without any additional layers), but ok, that's enough for starting point