Visão Lógica
Nesta visão lógica da arquitetura do projeto, destacamos as partes essenciais do modelo de design, delineando a divisão em subsistemas e pacotes que compõem a estrutura do sistema.
Subsistema de Front-end
Este subsistema abrange a camada de apresentação do sistema, responsável por proporcionar a interface com o usuário. No contexto do projeto, a escolha predominante é a utilização de TypeScript e React. Dentro deste subsistema, identificamos pacotes específicos relacionados a diferentes componentes da interface de usuário.
Autenticação (Component)
- Responsabilidades: Gerenciar processos de autenticação e autorização do usuário.
- Relacionamentos: Comunica-se com o subsistema de Back-end para validar credenciais do usuário.
Controle De Vídeos (Component):
- Responsabilidades: Gerenciar a exibição e interação com vídeos.
- Relacionamentos: Envia solicitações ao Back-end para recuperar dados de vídeos específicos.
Subsistema de Back-end
O subsistema de Back-end lida com a lógica de negócios, processamento de dados e interação com o banco de dados. Aqui, TypeScript é a linguagem predominante.
Gestão De Usuários (Módulo)
- Classes: Usuário, AutenticaçãoService
- Responsabilidades: Gerenciar informações de usuários, autenticação e autorização.
- Relacionamentos: Conecta-se ao banco de dados para recuperar e armazenar dados de usuários.
Conteúdo Multimídia (Módulo)
- Classes: Vídeo, ComentárioService
- Responsabilidades: Gerenciar conteúdo multimídia, como vídeos e comentários associados. Relacionamentos: Interage com o subsistema de Front-end para fornecer dados de vídeos e comentários.
Subsistema de Banco de Dados
Este subsistema armazena e gerencia os dados persistentes do sistema, utilizando um banco de dados adequado às necessidades do projeto.
Modelos De Dados
- Entidades: Usuário, Vídeo, Comentário
- Responsabilidades: Definir estruturas de dados e relacionamentos para persistência. Esta visão lógica oferece uma compreensão clara da estrutura do sistema, destacando a organização em subsistemas, pacotes e classes, fornecendo uma base sólida para o desenvolvimento e manutenção do projeto.