Projeto de rede social em Java

Olá, gente.

Estou com essa atividade para desenvolver, mas estou com muitas dúvidas. Alguém já fez algum exemplo parecido? Quais os conhecimentos de Java devo usar? Estudo os assuntos da disciplina mas não consegui estruturar o que está proposto.

Proposta:

Você faz parte do time de desenvolvimento de uma grande Rede Social. Uma das maiores necessidades atualmente é conseguir mostrar amigos em comum, postagens em comum entre 2 pessoas e o alcance de uma pessoa.

Considere as pessoas na rede social e seus amigos mostrados abaixo: Zezinho, por exemplo, possui Huguinho e Luizinho como amigos. Observe os demais:
 Zezinho:
oHuguinho
oLuizinho
Luizinho
oZezinho
oLuluzinha
Huguinho
oZezinho
Luluzinha
oLuizinho
oBolinha
Bolinha
oLuluzinha

O único amigo em comum entre Zezinho e Luluzinha é Luizinho.
O alcance de uma pessoa determina quais são as pessoas que são alcançáveis a partir de uma pessoa. Tomando Bolinha como exemplo, é possível alcançar Luluzinha (distância 1 de Bolinha). De Luluzinha, podemos alcançar Luizinho (distância 2 de Bolinha), de Luizinho alcançamos Zezinho (distância 3 de Bolinha) e de Zezinho chegamos em Huguinho (distância 4 de Bolinha).

Caso Luizinho faça uma postagem A e marque Zezinho e Luluzinha, Luluzinha e Zezinho terão a postagem A em comum, assim como Luizinho e Zezinho também terão a postagem A em comum.

Implementando os conceitos vistos na disciplina, desenvolva um sistema possuindo as seguintes funcionalidades:

1- Cadastrar pessoas.
2- Adicionar amigo (deve ser perguntado o nome da pessoa e do amigo que será adicionado para fazer a busca).
3- Fazer postagem (deve ser perguntado o nome da pessoa para fazer a busca).
Na postagem, permitir que sejam marcados quantos amigos uma pessoa desejar.
4- Listar todos os amigos de uma pessoa em ordem alfabética (deve ser perguntando o nome da pessoa).
Listar todas as postagens de uma pessoa (deve ser perguntando o nome da pessoa).
5- Informar os amigos em comum entre 2 pessoas (deve ser perguntando os nomes das pessoas).

6- Informar as postagens em comum entre 2 pessoas (deve ser perguntando os nomes das pessoas).
7- Informar o alcance de uma pessoa dada uma distância máxima (deve ser perguntando o nome da pessoa e a distância máxima).]

Olá DaySy

VocÊ conseguiu resolver o projeto? Tambem recebi a mesma proposta da faculdade e nao sei como elaborar…