Status do Projeto: ✔️ (concluido) |
⚠️ (em desenvolvimento) | ❌ (não iniciada)
🔹 Descrição do projeto ✔️
🔹 Objetivos do projeto ✔️
🔹 Funcionalidades ✔️
🔹 Diagrama de Classes ✔️
🔹 Casos de Uso ✔️
🔹 Descrição das Telas do Sistema ✔️
🔹 Linguagens, tecnologias, dependências e libs utilizadas
🔹 Desenvolvedores/Contribuintes
...
O projeto Museu Virtual de Personagens Históricos de Pernambuco foi desenvolvido para atender à demanda de um professor de História que busca uma ferramenta interativa para realizar estudos e difundir o conhecimento histórico regional entre seus alunos e a comunidade.
1. Preservar e divulgar a história e cultura local de Pernambuco:
- Promover a memória de personagens históricos que contribuíram para o desenvolvimento cultural, social e político da região.
- Facilitar o acesso ao conhecimento histórico por meio de uma plataforma digital interativa.
2. Facilitar o acesso de estudantes e professores a conteúdos históricos relevantes:
- Oferecer uma alternativa prática e moderna ao material didático tradicional, permitindo que os usuários explorem personagens históricos de forma interativa e visual.
- Garantir o acesso ao conteúdo, especialmente para alunos de escolas em áreas com acesso limitado a museus e bibliotecas físicas.
3. Incentivar o uso de tecnologias digitais no ensino da história regional:
- Aplicar uma abordagem inovadora no ensino de história, utilizando uma interface gráfica interativa.
- Engajar alunos e professores em um ambiente de aprendizado prático e colaborativo, onde a tecnologia se torna uma ferramenta de pesquisa e ensino.
4. Oferecer uma plataforma diferenciada para cadastro e consulta de personagens históricos:
- Disponibilizar funcionalidades de gestão de personagens e usuários, permitindo que o conteúdo seja atualizado de forma dinâmica e eficiente por administradores.
1. Autenticação e Login:
- Administradores realizam login com e-mail e senha. Após o login, são redirecionados para um painel administrativo.
2. Gestão de Personagens Históricos (CRUD):
- Cadastrar Personagem: Inserir nome, biografia, tipo de personagem (Artista ou Político) e imagem.
- Listar Personagens: Exibir uma lista com todos os personagens cadastrados, incluindo seus detalhes.
- Atualizar Personagem: Modificar informações já cadastradas, como nome, biografia ou imagem.
- Deletar Personagem: Remover personagens que não são mais relevantes.
3. Gestão de Usuários (CRUD):
- Cadastrar Usuário: Criar novos usuários (administradores ou alunos) com nome, e-mail, senha e tipo de usuário.
- Listar Usuários: Exibir todos os usuários cadastrados, com detalhes como nome e tipo.
- Atualizar Usuário: Modificar dados dos usuários, incluindo nome e tipo.
- Deletar Usuário: Remover usuários do sistema
1. Autenticação e Login:
- Os alunos realizam login com e-mail e senha e são direcionados para uma interface específica para consulta.
2. Consulta de Personagens:
- Listar Personagens: Visualizar a lista completa de personagens históricos cadastrados.
- Buscar Personagem Específico: Consultar informações detalhadas sobre um personagem específico, incluindo nome, biografia e imagem.
MuseuVirtual/
├── src/
│ ├── annotations/
│ │ ├── TipoPersonagem.java
│ │ └── TipoUsuario.java
│ │
│ ├── controller/
│ │ ├── PersonagemController.java
│ │ └── UsuarioController.java
│ │
│ ├── DAO/
│ │ ├── InstanceDAO.java
│ │ ├── PersonagemDAO.java
│ │ └── UsuarioDAO.java
│ │
│ ├── model/
│ │ ├── Personagem.java
│ │ └── Usuario.java
│ │
│ ├── service/
│ │ ├── AuthService.java
│ │ └── FirebaseService.java
│ │
│ ├── view/
│ │ ├── LoginView.java
│ │ ├── AdminPainelView.java
│ │ ├── AlunoPainelView.java
│ │ ├── AdicionarUsuarioDialog
│ │ ├── AdicionarPersonagemDialog.java
│ │ ├── AdicionarPersonagemDialog.java
│ │ ├── EditarUsuarioDialog
│ │ └── EditarPersonagemDialog.java
│ │
│ ├── validators/
│ │ ├── TipoPersonagemValidator.java
│ │ └── TipoUsuarioValidator.java
│ │
│ ├── utils/
│ │ ├── HibernateUtil.java
| | ├── JPAUtils.java
│ │ └── PasswordUtil.java
│ │
│ │
│ └── Main.java
│
├── resources/
| └── META-INF/
│ └── persistence.xml
│
└── pom.xml (Para gerenciamento com Maven)
-
MuseuVirtual/: Diretório raiz do projeto.
-
src/: Contém o código-fonte do sistema.
-
annotations/:
- TipoPersonagem.java e TipoUsuario.java: Definem anotações personalizadas para marcar e validar tipos de personagens e tipos de usuários. Essas anotações ajudam na validação e controle de dados específicos do sistema.
-
controller/:
- PersonagemController.java e UsuarioController.java: Controladores que implementam a lógica de negócios e intermediam a comunicação entre a interface gráfica (view) e as operações de banco de dados (DAO). Por exemplo, o PersonagemController coordena as operações CRUD para personagens, e o UsuarioController para usuários.
-
DAO/ (Data Access Object):
- InstanceDAO.java: Classe base genérica para operações de banco de dados, contendo métodos comuns como salvar, buscar por ID, listar, atualizar e deletar. Serve como base para outras DAOs.
- PersonagemDAO.java e UsuarioDAO.java: Classes DAO específicas para as entidades Personagem e Usuario, estendendo InstanceDAO para fornecer métodos CRUD e consultas específicas.
-
model/:
- Personagem.java e Usuario.java: Entidades que representam os modelos de dados do sistema. Essas classes mapeiam os atributos e relacionamentos das tabelas Personagem e Usuario no banco de dados.
-
service/:
- AuthService.java: Implementa a autenticação de usuários, possivelmente manipulando tokens de sessão.
- FirebaseService.java: Gerencia operações de integração com o Firebase, como o upload de imagens ou armazenamento de dados.
-
view/:
- LoginView.java: Tela de login, onde administradores e alunos inserem suas credenciais.
- AdminPainelView.java e AlunoPainelView.java: Painéis específicos para administradores e alunos, exibindo funcionalidades e informações conforme o perfil de usuário.
- AdicionarUsuarioDialog.java, AdicionarPersonagemDialog.java, EditarUsuarioDialog.java, EditarPersonagemDialog.java: Diálogos específicos para gerenciar operações de cadastro e edição de personagens e usuários.
-
validators/:
- TipoPersonagemValidator.java e TipoUsuarioValidator.java: Validadores responsáveis por garantir que os dados de tipos de personagens e usuários estejam corretos conforme a definição do sistema.
-
utils/:
- HibernateUtil.java e JPAUtils.java: Utilitários de configuração e inicialização para o gerenciamento de persistência com Hibernate e JPA.
- PasswordUtil.java: Funções auxiliares para lidar com senhas, como hashing e validação.
-
Main.java: Ponto de entrada da aplicação. Inicia o sistema e exibe a primeira tela (provavelmente o login).
-
-
resources/:
- META-INF/persistence.xml: Arquivo de configuração de persistência para o JPA/Hibernate. Define as propriedades do banco de dados e mapeamento de entidades.
- pom.xml: Arquivo de configuração do Maven, listando dependências e plugins necessários para construir e executar o projeto, facilitando o gerenciamento de bibliotecas e configurações de build.
...
...
- Tela de Login
-
Descrição:
- O usuário (aluno ou administrador) acessa esta tela para entrar no sistema.
- Os campos incluem:
- Email: Campo de texto para o e-mail.
- Senha: Campo oculto para senha.
- Botão "Login": Inicia o processo de autenticação.
-
Interação:
- O usuário insere email e senha.
- Ao clicar no botão "Login", é feita a validação:
- Se o login for bem-sucedido:
- Administrador é redirecionado para o Painel Administrativo.
- Aluno é direcionado para a Tela de Consulta de Personagens.
- Se falhar, é exibida uma mensagem de erro informando "Email ou senha incorretos".
- Painel Administrativo
-
Descrição:
- Esta tela é exclusiva para administradores e permite gerenciar usuários e personagens.
- Há um banner de boas-vindas e abas para facilitar a navegação:
- Aba "Usuários": Gerenciamento completo de usuários (CRUD).
- Aba "Personagens": Gerenciamento de personagens históricos (CRUD).
-
Interação:
- Aba "Usuários":
- Listar todos os usuários, buscar por email, editar, excluir ou adicionar um novo usuário.
- A escolha do tipo de usuário pode ser feita em um diálogo específico.
- Aba "Personagens":
- Listar personagens, buscar por nome, adicionar, editar ou excluir personagens existentes.
- Botão "Sair" no canto superior direito permite que o administrador faça logout e volte para a tela de login.
- Painel do Aluno
-
Descrição:
- Esta tela é destinada aos alunos para consultar os personagens históricos cadastrados.
- Contém um banner com boas-vindas e uma aba para listar e buscar personagens.
-
Interação:
- Botões de Ação:
- Listar Personagens: Exibe todos os personagens no sistema.
- Listar por Tipo: Abre um diálogo para o aluno escolher um tipo e listar os personagens correspondentes.
- Buscar Personagem: Permite ao aluno buscar um personagem específico pelo nome.
- Tabela: Exibe os detalhes dos personagens encontrados.
- Tela de Adicionar Personagem
-
Descrição:
- Permite que o administrador adicione um novo personagem ao sistema, inserindo:
- Nome, Biografia, Tipo, e Imagem.
- Permite que o administrador adicione um novo personagem ao sistema, inserindo:
-
Interação:
- O administrador preenche os campos obrigatórios.
- A imagem pode ser selecionada através de um selecionador de arquivos com visualização em miniatura.
- Ao clicar em "Adicionar", o personagem é salvo no sistema.
- Tela de Editar Personagem
-
Descrição:
- Permite editar informações de um personagem existente.
-
Interação:
- O administrador pode modificar nome, biografia, tipo e imagem.
- Após salvar, o sistema atualiza o personagem e exibe uma mensagem de confirmação.
- Tela de Adicionar Usuário
-
Descrição:
- Permite cadastrar novos usuários, definindo:
- Nome, Email, Senha, e Tipo (administrador ou aluno).
- Permite cadastrar novos usuários, definindo:
-
Interação:
- O administrador insere os dados necessários e salva o novo usuário.
- Caso o email já esteja em uso, uma mensagem de erro é exibida.
- Tela de Editar Usuário
-
Descrição:
- Permite atualizar as informações de um usuário existente.
-
Interação:
- O administrador modifica os dados e salva as alterações.
- Se um novo email for inserido e já estiver em uso, o sistema exibe uma mensagem de erro.
Fluxo Geral de Interação:
- Usuário realiza login.
- Administrador acessa o painel com abas para gerenciar usuários e personagens.
- Aluno acessa a tela de consulta para listar ou buscar personagens.
- A partir das interfaces administrativas, personagens e usuários podem ser criados, atualizados, ou excluídos.
...
...
Time responsável pelo desenvolvimento do projeto
Francis Lauriano |
---|
The MIT License (MIT)
Copyright ©️ 2024 - Museu Virtual de Personagens Históricos de Pernambuco