... | @@ -34,9 +34,40 @@ Principais vantagens do Sequelize: |
... | @@ -34,9 +34,40 @@ Principais vantagens do Sequelize: |
|
|
|
|
|
## Modelagem do banco (Sprint 1)
|
|
## Modelagem do banco (Sprint 1)
|
|
|
|
|
|
|
|
Este diagrama é a versão inicial do banco de dados, representando a estrutura fundamental sobre a qual o sistema de gerenciamento de usuários, comunidades e eventos estava sendo construído. À medida que o projeto evolui, é comum que ajustes sejam feitos para refinar a estrutura, adicionar novos recursos ou otimizar o desempenho.
|
|
|
|
|
|
|
|
Conforme o desenvolvimento prossegue, podem ser feitas alterações como:
|
|
|
|
|
|
|
|
**Adicionar novas tabelas**: Por exemplo, se você decidir que os eventos devem ter subcategorias, uma nova tabela de "Subcategorias" poderia ser adicionada.
|
|
|
|
|
|
|
|
**Modificar tabelas existentes**: Você pode precisar de mais informações sobre os usuários, então novos campos podem ser adicionados à tabela "Usuário".
|
|
|
|
|
|
|
|
**Refinar relacionamentos**: Talvez você perceba que a relação entre usuários e comunidades é mais complexa e precise de uma nova tabela intermediária para melhor descrever essas conexões.
|
|
|
|
|
|
|
|
**Otimização para desempenho**: À medida que mais dados são adicionados, algumas estruturas podem ser alteradas para tornar as consultas mais rápidas.
|
|
|
|
|
|
|
|
O processo de desenvolvimento e aprimoramento é iterativo e contínuo, garantindo que o banco de dados atenda às necessidades do sistema e proporcione uma experiência suave e eficiente para os usuários finais.
|
|
|
|
|
|

|
|

|
|
|
|
|
|
|
|
###_Breve explicação da modelagem:_
|
|
|
|
|
|
|
|
**Usuário (User)**: Cada usuário tem informações como nome, e-mail, senha e uma associação a uma comunidade. Imagine isso como o perfil de uma pessoa em um site.
|
|
|
|
|
|
|
|
**Comunidade (Community)**: Este é um grupo ou categoria que os usuários podem fazer parte. Por exemplo, uma comunidade pode ser um clube de leitura ou um grupo de corrida.
|
|
|
|
|
|
|
|
**Eventos (Events)**: São atividades ou encontros que são criados no sistema. Cada evento tem um título, descrição, data, endereço, local, uma URL para uma foto e uma referência a quem criou o evento.
|
|
|
|
|
|
|
|
**Eventos Pagos (PaidEvents)**: Alguns eventos podem ter um custo associado. Esta parte do banco de dados guarda informações sobre o preço desses eventos pagos.
|
|
|
|
|
|
|
|
**Tags (Tags)**: São rótulos ou palavras-chave que podem ser usados para descrever ou categorizar usuários e eventos. Por exemplo, uma etiqueta pode ser "esporte" ou "música".
|
|
|
|
|
|
|
|
**Associação de Usuários e Eventos (UserEvent)**: Indica quais usuários estão relacionados a quais eventos. Isso é usado, por exemplo, para saber quem se inscreveu em um determinado evento.
|
|
|
|
|
|
|
|
**Associação de Usuários e Tags (UserTags)**: Mostra quais tags estão associadas a quais usuários. Isso pode ajudar a identificar interesses dos usuários.
|
|
|
|
|
|
|
|
**Associação de Eventos e Tags (EventTags)**: Da mesma forma, isso mostra quais tags estão associadas a quais eventos.
|
|
|
|
|
|
## Modelagem do banco (Sprint 2 e adiante)
|
|
## Modelagem do banco (Sprint 2 e adiante)
|
|
|
|
|
|
A partir da Sprint 2, algumas relações foram atualizadas e foram adicionadas as tabelas para a implementação de feature de Grupos para a aplicação e esse foi o modelo utilizado:
|
|
A partir da Sprint 2, algumas relações foram atualizadas e foram adicionadas as tabelas para a implementação de feature de Grupos para a aplicação e esse foi o modelo utilizado:
|
... | | ... | |