Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gedalias dos Santos

Criar uma mini rede social para a faculdade?

Recommended Posts

Olá, galera do fórum! Sou novo aqui e entrei porque tenho uma grande dúvida.

Estou tentando criar um mini rede social para a minha faculdade, sabe como é, um projeto que estou ideando para que os aluno possam interagir entre si, com os professores e a coordenação, mas logo no projeto me vi com uma grande questão a resolver que é o seguinte.

Todos os usuários poderão ter amigos e a grande questão é como vou armazenar cada um desse amigos e associa-lós a eles. Criei um banco de dados em PHP que vai englobar todos os usurários com o e-mail, senha e id que terá. Quero que cada pessoa possa ver os amigos logados e possam iniciar um conversa com um amigo escolhido.

Já pensei que ao criar a conta criasse logo um banco da dados individual que possa ter um tablela para cada conversas do usuário com cada amigo e outra tablela com o id de cada amigo e que ao logar eu possa pegar o id de cada amigo e logo fazer uma busca no banco de dados dos usuários, que é o banco que eu chamo de global, e saber se eles estão logados, mas depois pensei em pedir ajuda às pessoas mais experientes que eu neste ramo, mesmo que já tenha um certa experiência também no assunto.

Enfim, se alguém poder me ajudar a resolver este problemas eu agradeceria muito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que o primeiro passo, é fazer a modelagem de (banco de) dados. Para saber quem é amigo de quem, por exemplo, você pode criar uma tabela chamada "amizades" com o ID do usuário e o ID do amigo. Exemplo:

 

id | id_amigo
1 | 2

1 | 56

1 | 98123

 

Fazendo um SELECT id_amigo FROM amizades WHERE id = 1, você saberá quem é amigo do usuário número 1.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc gostaria de desenvolver um "mini facebook"?

 

 

É muito trabalho, mas tudo bem... essa ideia de criar bancos ou tabelas a partir do usuário é loucura... nao vai dar certo... nem colunas.... (isso tah mais para noSQL).

 

Olha, na minha opniao, existem muitas ferramentas desse tipo prontas na net, vai por esse caminho.... vc vai ter uma resposta mais rapida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muitas universidades e faculdades já criam um perfil do Moodle na matricula dos alunos. Essa integração funciona bem. Mesmo que você queira criar seu próprio sistema vale apena estudar a modelagem dele para ter bons insights.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Procure um sistema de login pronto igual o Mark Zuckerberg fez e crie a tabela de amizade como o amigo disse lá em cima. Continue trabalhando nesse projeto sem nunca desistir e procure resolver todos os detalhes envolvidos. Você aprenderá tudo assim. No fim ganhará pelo menos conhecimento e lembre-se: você é amigo de alguém e alguém é seu amigo. Boa sorte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao tenho muito o que adicionar..

 

apenas reforço todos os posts acima que foram ótimos.

 

e boa sorte .. vc pode ser o facebook brasileiro.

 

uma dica simples, evite querer montar algo complexo... faça tudo o mais simples possível.

 

e use exemplos prontos como insights e não como comparação com o que está criando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado a todos os que contribuíram para resolver meu problema. Consegui resolver esta questão com base no que o Jonaslhp disse, e com base em todas as dicas.

Minha conclusão foi criar uma tabela a mais no banco de dados onde se encontrar dois ids, de duas pessoas que são amigas na rede, e logo depois faço uma busca na tabela dos usuários recuperando o nome desse amigo. A jogada é que procuro pelo id do usuário logado nos dois ids e quando localizo o tal usuário recupero o id do outro, que não seja ele mesmo, e faço a exibição do nome da pessoa na tela, depois de ter recuperado o nome dele na tabela de usuário.

Obrigadão por tudo!! Valeu!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem que inserir duas vezes na relação de amizade.

 

 

id - id_amigo

 

1 - 54

54 - 1


E tem que testar olhando no mínimo dois usuários. O usuário logado e o outro; ou os outros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na parte de amizades eu não criaria outra tabela só para essa relação.

 

Na propria tabela do usuário colocaria um campo chamado "amigos" e nele colocaria separado por virgulas os ids do amigos.

 

Exemplo:

 

id | nome | email | amigos

1 | Andrew | andrew@email.com | 1,4,6,105,160

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim como você falou, use sempre exemplos prontos.

 

Para ser mais ágil use o CMS Elgg que e utilizado para rede social com plugins, milhares de funções interessante que precisa ser explorada.

 

 

o problema e relacionamento, SQL. modelagem.

verifique as vídeos aulas do Gilgecios que ensina como criar uma rede social.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na parte de amizades eu não criaria outra tabela só para essa relação.

 

Na propria tabela do usuário colocaria um campo chamado "amigos" e nele colocaria separado por virgulas os ids do amigos.

 

Exemplo:

 

id | nome | email | amigos

1 | Andrew | andrew@email.com | 1,4,6,105,160

 

E pra deletar um amigo? Voce vai ter que ter um SELECT + UPDATE, ou pelo menos ter essa info armazenada em algum lugar para atualizar o campo...Acho um DELETE mais facil

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.