Skip to content

Tiagos121/Semaforo_de_Noticias

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🚦 Semáforo de Notícias

React Firebase Gemini AI Vite

"Não leia apenas as notícias. Entenda o viés por trás delas."

O Semáforo de Notícias é uma aplicação web de última geração que combina agregação de notícias em tempo real com Inteligência Artificial. O sistema analisa automaticamente o espectro ideológico (Esquerda, Centro, Direita) de cada artigo, ajudando os leitores a combater a desinformação e a compreender a sua própria "bolha informativa".


⚠️ NOTA IMPORTANTE SOBRE A API DO GEMINI

A funcionalidade de análise de viés depende da Google Gemini API, que possui limites rigorosos de pedidos (Rate Limits) na versão gratuita.

Se a análise de viés falhar ou não aparecer, é provável que o limite de pedidos da chave partilhada tenha sido atingido. Para garantir o funcionamento contínuo ao testar o projeto, recomenda-se que gere a sua própria API Key no Google AI Studio e atualize a variável VITE_GEMINI_API_KEY no ficheiro .env.


✨ Funcionalidades Principais

🧠 Análise de Viés com IA

Cada notícia é processada pelo Google Gemini, que classifica o conteúdo ideológico e o nível de opinatividade, gerando um gráfico visual (BiasSpectrum) instantâneo.

📰 Agregação Inteligente

Utiliza a GNews API combinada com algoritmos de deduplicação (Levenshtein) para filtrar ruído e apresentar apenas conteúdo relevante e único.

📍 Contexto Hiper-Local

Onde quer que esteja, o sistema sabe. Deteção automática da cidade via LocationIQ para notícias regionais e meteorologia em tempo real via Open-Meteo.

📊 Perfil do Leitor (Dashboard)

Você é o que lê. O sistema calcula a sua "dieta informativa", gerando um perfil ideológico médio e atribuindo uma identidade visual dinâmica (Avatar com anel colorido) baseada nos seus hábitos de leitura.

⭐ Persistência na Cloud

Guarde notícias para ler mais tarde. O sistema integra com Firebase Firestore para manter os seus favoritos e análises de IA sincronizados entre dispositivos.


🏗️ Arquitetura do Sistema

O projeto segue um fluxo de dados unidirecional robusto, utilizando Context API para gestão de estado e Custom Hooks para isolar a lógica de negócio.

graph TD
    User((Utilizador)) --> Auth[AuthProvider / Firebase]
    Auth --> App
    
    subgraph Lógica de Notícias
        Home --> Fetcher[UnifiedNewsFetcher]
        Fetcher --> GNews[GNews API]
        Fetcher -.-> Card[NewsCard]
        Card --> Analyzer[BiasAnalyzer]
        Analyzer --> Gemini[Gemini AI]
        Analyzer -.->|Update Viés| Fetcher
    end

    subgraph Persistência
        Card --> HookFav[useFavoritosActions]
        HookFav --> Firestore[(Firebase DB)]
    end

    subgraph Perfil Analítico
        Firestore --> HookProfile[useProfileBias]
        HookProfile --> Stats[Cálculo de Média Ideológica]
        Stats --> Avatar[Navbar Avatar Colorido]
    end

Loading

About

Projeto desenvolvido em REACT no ambito da UC de TACS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors