O que é

S.A.R.A é uma sigla para Sistema Automatizado de Relatos Artificiais.

Consiste de um sistema de código aberto que possui integração com o Facebook, para a geração de noticias fictícias.

O sistema é uma forma de AutoGPT, e tem como objetivo gerar noticias falsas baseando-se em informações e estilos definidos pelo usuário do sistema, posteriormente postar essas noticias no Facebook automaticamente, com um período definido, usando uma minima intervenção do usuário.

O objetivo

Seu objetivo é conscientizar as pessoas de impactos sociais que as IA’s modernas de geração de texto podem causar, gerando noticias que, mesmo falsas e geradas por computador, fazem sentido, e que podem ser confundidas com noticias reais.

Também tem como objetivo causar um entretenimento leve para usuários do Facebook, com noticias explicitamente falsas para satirizar eventos do dia a dia e eventos políticos, de forma automatizada e programável, podendo personalizar o estilo de geração de texto, estilo de geração de imagem, e informações chave para a geração de um texto.

Estrutura

Tecnologias

O frontend usa, primariamente o React para a criação da pagina, mas também é equipado com outras bibliotecas para deixar o desenvolvimento mais conciso, destacando entre elas o Typescript para a organização da tipagem, o Tailwind para a estilização, e o React-Router para a criação de várias rotas do frontend.

O backend é desenvolvido exclusivamente em Laravel, utilizando suas tecnologias padrões, como o Eloquent para acesso ao banco de dados, o Sanctum para autenticação por API, e o InertiaJS para a integração entre o backend e o frontend. Como o Laravel é um framework PHP monolítico, ele é usado como o pacote principal do backend. Mesmo a integração com o frontend é realizada com uma tecnologia própria integrada ao Laravel.

Como banco de dados, o projeto utiliza-se do MySQL, um banco de dados estruturado com uma boa popularidade na indústria, mas, como o projeto utiliza-se do Laravel equipado com o Eloquent para o acesso ao banco de dados, possui suporte para todos os bancos de dados relacionais suportado pelo Laravel.

Arquitetura

O projeto utiliza a arquitetura MVC (Model-View-Controller), que é composta por três componentes:

Classes de Controllers

Os controllers que controlam a exibição direta de informação no frontend estendem do controller base (chamado apenas de Controller), os filhos do controlador base possuem 2 propriedades obrigatórias: