Realizado por mim e João Meneses.
- O Projeto "Amor Às Cegas" foi um trabalho de conclusão da disciplina de Programação Orientada a Objetos, ofertada no segundo semestre do TADS, realizado em dupla.
- O projeto em si é uma aplicação de um aplicativo de relacionamentos que busca aproximar as pessoas a partir das suas preferências e hobbies.
- Esse trabalho foi realizado em conjunto com a disciplina de Banco de Dados, onde trabalhamos com o PostgreSQL.
Um dos primeiros questionamentos que tivemos quando iniciamos o projeto foi: como relacionar duas pessoas? Como não tínhamos experiência em processamento digital de imagens, precisávamos de um fator comum, algo que aproximasse os usuários. Logo, chegamos à ideia de utilizar os HOBBIES como base para as conexões, e assim nasceu o "Amor às Cegas", onde as pessoas se relacionam através de seus gostos e preferências.
Para a criação do projeto, foi necessário estabelecer quais entidades seriam necessárias para gerar o banco de dados, como cada entidade iria se relacionar e quais seriam seus atributos. Já sabíamos de duas entidades: Usuário e Hobbies. Porém, como era requisito do projeto ter quatro entidades, decidimos criar também a entidade PagamentoVIP, onde os usuários com pagamento VIP teriam alguns benefícios dentro da aplicação, e a entidade Usuário_Hobbies, que é justamente a tabela gerada a partir do relacionamento N para N entre os usuários e seus hobbies.
- Usuario (nickname, nome, login, senha, idade, genero, orientacao_sexual)
- Hobbies (cod_hobbie, descricao)
- PagamentoVIP (cpf, cod_pagamento, senha_cartao, numero_cartao, pg, fk_usuario)
- Usuario_Hobbies (id, fk_usuario, fk_hobbies)
OBS.: O texto em negrito é uma chave primária e aquele em negrito e itálico é uma chave estrangeira.
A partir disso, foi possível criar o projeto e suas classes, e então detalhá-las com seus atributos e métodos. Ao examinar o arquivo 'src', é possível notar a presença da classe Match no domínio. Essa classe foi criada com o propósito de facilitar a visualização do auto-relacionamento da tabela Usuário, uma vez que um usuário se relaciona com vários outros através da quantidade de hobbies compatíveis.
- Ao realizar a operação de exclusão de um usuário, o correto seria sair do "MENU USUÁRIO". No entanto, isso não está acontecendo e, como resultado, o usuário excluído ainda tem acesso às operações, o que causa divergência entre a aplicação e o banco de dados.