Introdução
Informações básicas do projeto como nome e membros da equipe.
Informações Gerais
- Projeto: Fake news
- Repositório GitHub: Trabalho Interdisciplinar
- Membros da equipe:
Contexto
Detalhes sobre o espaço de problema, justificativas e os objetivos do projeto.
Problema
As fake news representam uma grave ameaça à sociedade, disseminando informações falsas que minam a confiança nas instituições, distorcem a percepção da realidade e amplificam divisões sociais. Além de influenciar negativamente a opinião pública e prejudicar a reputação de pessoas e instituições, elas também colocam em risco a segurança cibernética e a privacidade online.
Objetivos
Objetivo Principal
Desenvolver um software que não apenas combata ativamente a disseminação de fake news, mas também promova a disseminação de informações precisas e confiáveis. Através de uma abordagem integrada e eficaz, almejamos fornecer ao povo brasileiro uma ferramenta que não só proteja contra os danos causados pelas informações falsas, mas também capacite os usuários a discernir entre conteúdo autêntico e enganoso.
Objetivos Secundário
Nossa meta é oferecer uma solução acessível, de fácil acesso e utilização intuitiva, garantindo que todos os segmentos da sociedade brasileira possam se beneficiar de suas funcionalidades. Buscamos não apenas informar, mas capacitar os usuários a se tornarem agentes ativos na luta contra a desinformação, promovendo uma cultura de verificação e responsabilidade na disseminação de informações.
Objetivo Terciário
Este software visa não apenas mitigar os efeitos nocivos das fake news, mas também fortalecer a confiança nas instituições, reforçar a percepção da realidade e promover a coesão social. Ao disponibilizar informações verificadas e de qualidade, pretendemos contribuir para a construção de uma sociedade mais informada, engajada e resiliente.
Justificativa
A alarmante estatística divulgada pela CNN Brasil, indicando que 4 em cada 10 brasileiros recebem fake news diariamente, reforça a urgência de nossos objetivos específicos. O alto índice de exposição a informações falsas evidencia a necessidade de um software que não apenas combata ativamente a disseminação desses conteúdos, mas também capacite os usuários a discernir entre o verdadeiro e o falso.
Público-alvo
Nosso software é direcionado principalmente para um público-alvo que abrange principalmente indivíduos da faixa etária mais madura, especialmente aqueles acima dos 50 anos. Esta demografia é particularmente suscetível à disseminação de fake news, como evidenciado por estudos, como o da BBC News , que indicam uma propensão maior entre os idosos para compartilhar informações enganosas. Nossa pesquisa qualitativa também revelou uma tendência preocupante entre os entrevistados dessa faixa etária, que admitiram não verificar as notícias que recebem ou compartilham. Portanto, nosso software visa atender a essa necessidade específica, oferecendo uma solução acessível e fácil de usar para ajudar os usuários a discernir entre informações verdadeiras e falsas, especialmente aqueles que podem ser mais vulneráveis à desinformação online.
Concepção (Design Thinking)
Detalhes do processo de discovery do projeto.
Apresente o processo de discovery do projeto. Com foco na experiência do usuário, esse processo abrange a compreensão do contexto do problema e das características do usuário, a definição do problema, a geração de ideias, a prototipagem e a elaboração de uma proposta de solução
Processo de Design Thinking
O arquivo que se segue apresenta o resultado desse processo.
Apresente o processo de Design Thinking realizado pelo grupo e documentado por meio do software Miro. No documento apresentado, devem ser incluídos: (1) a matriz CSD, (2) o mapa de stakeholders, (3) as personas, (4) as respectivas propostas de valor e (5) o processo de ideação identificando as ideias levantadas e sua priorização.
Especificações do Projeto
Documentação das especificações do projeto.
Apresente as especificações do projeto, incluindo as histórias de usuário e os requisitos funcionais e não funcionais.
Histórias de Usuários
Com base na análise das personas foram identificadas as seguintes histórias de usuários:
Apresente aqui as histórias de usuário que são relevantes para o projeto de sua solução. As Histórias de Usuário consistem em uma ferramenta poderosa para a compreensão e elicitação dos requisitos funcionais e não funcionais da sua aplicação. Se possível, agrupe as histórias de usuário por contexto, para facilitar consultas recorrentes à essa parte do documento.
EU COMO...PERSONA |
QUERO/PRECISO...FUNCIONALIDADE |
PARA...MOTIVO/VALOR |
|---|---|---|
| Maria Clara Fagundes | Ver as noticias do momento. | Para me manter antenado nos acontecimentos ao meu redor. |
| José Oliveira Moraes | Verificar uma informação | Me certificar da veracidade de um link/vídeo recebido. |
| José Oliveira Moraes | Quero receber uma coletanêa de noticias no e-mail. | Para me informar rapidamente. |
| Dr. Nelson Rogrigues Campos | Quero ver as noticias do meu time do coração. | Para basear minha próxima aposta. |
| José Oliveira Moraes | Desejo navegar no banco de noticias. | Para relacionar acontecimentos recentes. |
| Maria Clara Fagundes | Desejo consultar outras perspectivas. | Para saber diferentes opiniões de uma mesma notícia. |
| Dr. Nelson Rodrigues Campos | Desejo visualizar as fontes do site. | Para me certificar de estar recebendo informações confiaveis. |
| Administrador | Cadastrar novas noticias. | Para atualizar o banco de noticias. |
| Administrador | Categorizar noticias. | Para fazer um referenciamento dentro do site. |
Requisitos
As tabelas que se seguem apresentam os requisitos funcionais e não funcionais que detalham o escopo do projeto.
Com base nas Histórias de Usuário, enumere os requisitos da sua solução. Classifique esses requisitos em dois grupos:
- Requisitos Funcionais (RF): correspondem a uma funcionalidade que deve estar presente na plataforma (ex: cadastro de usuário).
- Requisitos Não Funcionais (RNF): correspondem a uma característica técnica, seja de usabilidade, desempenho, confiabilidade, segurança ou outro (ex: suporte a dispositivos iOS e Android).
Lembre-se que cada requisito deve corresponder à uma e somente uma característica alvo da sua solução. Além disso, certifique-se de que todos os aspectos capturados nas Histórias de Usuário foram cobertos.
Requisitos Funcionais
| ID | Descrição do Requisito | Prioridade |
|---|---|---|
| RF-001 | Permitir que o usuário ADMINISTRADOR cadastre notícias. | ALTA |
| RF-002 | Permitir que o usuário ADMINISTRADOR categorize notícias. | ALTA |
| RF-003 | Permitir que o usuário PADRÃO faça log-in. | MÉDIA |
| RF-004 | Permitir que o usuário PADRÃO favorite notícias. | MÉDIA |
| RF-005 | Permitir que o usuário ADMINISTRADOR emita alertas para usuários PADRÃO cadastrados. | BAIXA |
| RF-006 | Permitir que o usuário PADRÃO se inscreva/desinscreva para receber o boletim informativo. | BAIXA |
| RF-007 | Permitir que o usuário PADRÃO submeta um link ou vídeo para análise e categorização. | ALTA |
| RF-008 | Permitir que o usuário PADRÃO receba baseadas em gostos pessoais. | BAIXA |
| RF-009 | Permitir que o usuário PADRÃO receba recomendações de parceiros. | MÉDIA |
| RF-010 | Permitir que o usuário PADRÃO pesquise por titulos. | ALTA |
| RF-011 | Permitir que o usuário PADRÃO pesquise por categorias/tags. | ALTA |
Requisitos Não-Funcionais
| ID | Descrição do Requisito | Prioridade |
|---|---|---|
| RNF-001 | O sistema deve ser responsivo para rodar em um dispositivos móvel | ALTA |
| RNF-002 | Deve processar requisições do usuário em no máximo 1s (exceto a página "É FAKE?") | ALTA |
| RNF-003 | Para a página "É FAKE?", deve processar requisições do usuário em no máximo 5s | MÉDIA |
| RNF-004 | Inserção do protocolo HTTPS | ALTA |
| RNF-005 | Criptografia de dados | ALTA |
| RNF-006 | UX projetada para idosos. | ALTA |
Projeto de Interface
Artefatos relacionados com a interface e a interacão do usuário na proposta de solução.
Apresente a ideia de interface que está sendo prevista para o projeto. Inclua os wireframes, o user/screen flow e o protótipo interativo.
User/Screen Flow e Protótipo interativo
Artefatos relacionados com a interface e a interacão do usuário na solução proposta.
O fluxo de usuário (User Flow) é uma técnica que permite ao desenvolvedor mapear todo fluxo de
telas do site ou app. Essa técnica funciona para alinhar os caminhos e as possíveis ações que o
usuário pode fazer junto com os membros de sua equipe.
Um protótipo interativo apresenta o projeto de interfaces e permite ao usuário navegar pelas
funcionalidades como se estivesse lidando com o software pronto. Veja o exemplo a seguir.
Wireframes
Protótipo de telas do sistema em baixa fidelidade (rascunhos).
Os Wireframes são protótipos das telas da aplicação usados em design de interface para sugerir a
estrutura de um site web e seu relacionamentos entre suas páginas. Um wireframe web é uma ilustração
semelhante ao layout de elementos fundamentais na interface. 
Tela de notícias: contém uma lista de notícias recentes, notícias recomendadas para o usuário e notícias em alta.
Tela de notícia interna: contém a descrição de uma notícia e recomendações de artigos similares.
Tela de análise de fake news: contém um espaço dedicado para vídeo e links a serem análisados.
Tela de portais: contém um descrições e imagens de portais de notícias confiáveis.
Tela de sobre nós: contém uma breve descrição da iniciativa por trás da plataforma.
Tela de cadastro: contém um pop-up com um formulários para criação de cadastro do usuário.
Tela de pesquisa: contém uma barra de pesquisa e categorias para filtrar notícias por palavras-chave ou temas, contém também notícias recomendadas ao usuário.
Metodologia
Detalhes sobre a organização do grupo e o ferramental empregado.
Nesta parte do documento, você deve apresentar a metodologia adotada pelo grupo, descrevendo o processo de trabalho baseado nas metodologias ágeis, a divisão de papéis e tarefas, as ferramentas empregadas e como foi realizada agestão de configuração do projeto via GitHub.
Coloque detalhes sobre o processo de Design Thinking e a implementação do Framework Scrum seguido pelo grupo. O grupo poderá fazer uso de ferramentas on-line para acompanhar o andamento do projeto, a execução das tarefas e o status de desenvolvimento da solução.
Ferramentas
Relação de ferramentas empregadas pelo grupo durante o projeto.
Liste as ferramentas empregadas no desenvolvimento do projeto, justificando a escolha delas, sempre que possível. Inclua itens como: (1) Editor de código, ferramentas de comunicação, ferramentas de diagramação, plataformas de hospedagem, entre outras.
| Ambiente | Plataforma | Link de Acesso |
|---|---|---|
| Processo de Design Thinking | Miro | https://miro.com/app/board/uXjVKdBjxkM=/?share_link_id=715065476962 |
| Wireframes | MarvelApp | https://marvelapp.com/prototype/7ea86c3 |
| User flow | Miro | https://miro.com/app/board/uXjVKRIgfa8=/?share_link_id=840000270005 |
| Protótipo Interativo | MavelApp | https://marvelapp.com/prototype/7ea86c3 |
| Editor de código | Visual Studio Code | https://code.visualstudio.com/ |
| Repositório de código | GitHub | https://github.com/orgs/ICEI-PUC-Minas-PMGCC-TI/teams/g9-fake-news |
| Ferramenta de Comunicação | Discord | https://discord.com/ |
| Hospedagem do site | Replit | https://replit.com/@Cacacesar/FatoCerto?s=app |
Gestão do Projeto
Divisão de papéis no grupo e apresentação da estrutura da ferramenta de controle de tarefas (Kanban).
Apresente a divisão de papéis e tarefas entre os membros do grupo. Informe quem é o Scrum Master, o Product Owner e os desenvolvedores. Informe também quem é o responsável pela documentação do projeto.
Apresente o quadro de gerenciamento do time (Kanban), seu formato e as experiências na utilização dessa ferramenta (GitHub Projects)
Scrum Master: Caio César Pereira
Product Owner: Paulo Gabriel
Desenvolvedores:
- Caio César Pereira
- Matheus Ferreira Noronha
- Rian Zanini Lascasas de Gouvêia
- Paulo Gabriel de Oliveira Leite
- Vinicius Fernandes Soares Cardoso
Controle de Versão
Estrutura do fluxo de trabalho no ambiente do GitHub.
Discuta como a configuração do projeto foi feita na ferramenta de versionamento (GitHub). Exponha
como a gerência de tags, merges, commits e branchs é realizada. Discuta como a gerência de issues foi
realizada.
Estrutura do fluxo de trabalho no ambiente do GitHub. O grupo adotou uma metodologia de desenvolvimento colaborativo utilizando o GitHub como ferramenta de versionamento central. Cada membro trabalhou de forma independente nas suas respectivas tarefas, utilizando o Visual Studio Code para desenvolver as páginas e realizar commits diretamente para o branch principal do repositório.
Solução
Esta seção apresenta todos os detalhes da solução criada no projeto.
Apresente cada uma das funcionalidades que a aplicação fornece tanto para os usuários quanto aos administradores da solução.
Inclua, para cada funcionalidade, itens como: (1) titulos e descrição da funcionalidade; (2) Estrutura de dados associada; (3) o detalhe sobre as instruções de acesso e uso.
Video do Projeto
O vídeo a seguir traz uma apresentação do problema que a equipe está tratando e a proposta de solução.
O video de apresentação é voltado para que o público externo possa conhecer a solução. O formato é livre, sendo importante que seja apresentado o problema e a solução numa linguagem descomplicada e direta.
Utilize o recurso de compartilhamento via embed e inclua o vídeo logo abaixo.
...... COLOQUE AQUI O SEU VIDEO ......
Funcionalidades
Esta seção apresenta as funcionalidades da solução.
Apresente cada uma das funcionalidades que a aplicação fornece tanto para os usuários quanto aos administradores da solução.
Inclua, para cada funcionalidade, itens como: (1) titulos e descrição da funcionalidade; (2) Estrutura de dados associada; (3) o detalhe sobre as instruções de acesso e uso.
Funcionalidade 1 - Cadastro de Noticias
Permite a inclusão, leitura, alteração e exclusão de noticias para o sistema
- Estrutura de dados: news
- Instruções de acesso:
- Abra o site e efetue o login
- Acesse o menu de cadastro de noticias
- Em seguida, aperte "cadastrar noticia"
- Crie a noticia

Funcionalidade 2 - Cadastro de Autores
Permite a inclusão, leitura, alteração e exclusão de novos autores para o sistema
- Estrutura de dados: authors
- Instruções de acesso:
- Abra o site e efetue o login
- Acesse o menu principal e escolha a opção autor da noticia
- Cadastre um novo autor ou veja os que já estao cadastrados

Funcionalidade 3 - Cadastro de parceiros
Permite a inclusão de paginas parceiras no sistema
- Estrutura de dados: parceiros
- Instruções de acesso:
- Abra o site e efetue o login
- Acesse o menu de parceiros e verifique os que já estão cadastrados
- Se não ouver os parceiros esperados, cadastre-os

Funcionalidade 4 - Apresentação de noticias
Permite a leitura das noticias cadastradas no site
- Estrutura de dados: news
- Instruções de acesso:
- Abra o site e efetue o login
- Acesse o menu principal e leia as noticias já cadastradas pelos nossos autores

Funcionalidade 5 - Apresentação de parceiros
Permite a leitura de noticias em sites parceiros
- Estrutura de dados: parceiros
- Instruções de acesso:
- Abra o site e efetue o login
- Acesse o menu principal e clique em uma noticia de parceiros
- Você será redirecionado para o site do parceiro

Funcionalidade 6 - Rankeamento de noticias
Permite o rankeamento de noticias no site
- Estrutura de dados: news
- Instruções de acesso:
- Abra o site e efetue o login
- Acesse o menu principal e visualize o ranking principal de noticias
- Quanto mais views tiver a noticia maior seu local no ranking

Funcionalidade 7 - Definição de niveis de acesso
Permite a inclusão e exclusão de autores, admins e usuários no sistema
- Estrutura de dados: authors
- Instruções de acesso:
- Abra o site e efetue o login
- Acesse o menu principal e visualize o local de acesso
- Cada usuario tem seu nivel de acesso, podendo ou não modificar o site de acordo com seu nivel atual

Funcionalidade 8 - Tagueamento de noticias
Permite a inclusao de tags nas noticias
- Estrutura de dados: authors
- Instruções de acesso:
- Abra o site e efetue o login como autor
- Acesse o menu de cadastro de noticias
- Clique em cadastrar noticias
- Preencha a noticia e logo após, adicione as tags

Estruturas de Dados
Descrição das estruturas de dados utilizadas na solução com exemplos no formato JSON.
Apresente as estruturas de dados utilizadas na solução tanto para dados utilizados na essência da aplicação quanto outras estruturas que foram criadas para algum tipo de configuração
Nomeie a estrutura, coloque uma descrição sucinta e apresente um exemplo em formato JSON.
Estrutura de Dados - News
Noticias
{
authorId": "1",
"title": "Idosos e conservadores são mais propensos a espalhar conteúdos falsos, diz estudo",
"subtitle": "Estudo revela comportamento de compartilhamento de fake news entre diferentes faixas etárias",
"description": "Estudo identificou que os usuários na faixa etária mais velha, acima dos 65 anos, compartilharam sete vezes mais artigos de portais de conteúdos falsos do que o grupo etário mais jovem (18 a 29 anos).",
"tags": [
"fake news",
"redes sociais",
"política"
],
"fake": true,
"featured": true,
"views": "1386",
"createdAt": "2019-01-19 12:27:57",
"updatedAt": "2024-06-30 18:36:04",
"id": 1
}
Estrutura de Dados - Usuários
Registro dos usuários do sistema utilizados para login e para o perfil do sistema
{
"name": "Ana Clara Martins",
"birthDate": "1988-01-12",
"occupation": "Jornalista investigativa",
"description": "Desde que comecei minha carreira em um pequeno jornal local, sempre fui movida pela paixão por descobrir a verdade por trás dos fatos. Com 32 anos e uma década de experiência, ganhei reconhecimento por minhas reportagens sobre corrupção e crimes de colarinho branco. Tenho um olhar atento e uma determinação inabalável, o que me leva a buscar informações exclusivas e fazer justiça através das minhas matérias. Nos momentos de folga, gosto de ler livros de não-ficção e participar de debates sobre ética jornalística.",
"image": "https://media.gettyimages.com/id/967373506/pt/foto/portrait-de-le%C3%AFla-slimani-journaliste-et-%C3%A9crivain-franco-marocaine-laur%C3%A9ate-du-prix-goncourt.jpg?s=612x612&w=0&k=20&c=7zzSQp8rhDTtdp7lnyxs4jtVczkHuzMe4zlIODo1uus=",
"email": "clarAnaMartins@gmail.com",
"password": "{\"salt\":\"bUXIJhkmZSHyDtVikrUN0w==\",\"iv\":\"XevB0PYCpcZ92P6Z\",\"cipher\":\"TBwwPr1LmSrtWztcMMvIU8RvTaseCXfrtwW6Aw==\"}",
"accessLevel": 2,
"id": 1
}
Módulos e APIs
Esta seção apresenta os módulos e APIs utilizados na solução.
Apresente os módulos e APIs utilizados no desenvolvimento da solução. Inclua itens como: (1) Frameworks, bibliotecas, módulos, etc. utilizados no desenvolvimento da solução; (2) APIs utilizadas para acesso a dados, serviços, etc.
Fonts:
- Icons Font Face - https://fontawesome.com/
Scripts:
- jQuery - http://www.jquery.com/
- Bootstrap 4 - http://getbootstrap.com/
FAQ
Perguntas e respostas comuns associadas ao projeto.
Apresente uma lista de perguntas e respostas comuns associadas ao projeto. Inclua perguntas como: (1) detalhes de acesso e uso do projeto; (2) informações sobre a instalação e configuração da aplicação; (3) questões sobre a manutenção da aplicação; (4) detalhes sobre a integração da aplicação com outros sistemas; (5) questões sobre a segurança da aplicação.
Referências Bibliográficas
Esta seção apresenta as referências bibliográficas utilizadas no projeto.
Apresente as referências bibliográficas utilizadas no projeto. Inclua itens como: (1) livros, artigos, tutoriais, etc. utilizados no desenvolvimento da solução; (2) links para sites, blogs, etc. utilizados no desenvolvimento da solução.
https://g1.globo.com
https://www.cnnbrasil.com.br/
https://olhardigital.com.br/