Skip to content

lucasolima/sjcc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📦 Sistema de Moderação de Comentários via Gemini

Sobre a Aplicação

API REST desenvolvida para receber e listar comentários em portais de notícias, com a capacidade de moderar comentários tóxicos via Google Gemini


🚀 Tecnologias utilizadas

  • Node.js + Express (API REST)
  • Google Gemini (Moderador de Comentários)
  • PostgreSQL

🧠 Pré-requisitos

Caso não possua, instale os requisitos abaixo:


🔧 Instalação

  1. Clone o repositório:
git clone https://github.com/lucasolima/sjcc/
cd sjcc
  1. Crie o banco de dados Postgres
CREATE DATABASE comments;
CREATE TABLE comments VALUES(
    id TEXT PRIMARY KEY,
    name TEXT NOT NULL,
    content TEXT NOT NULL,
    created_at DATE NOT NULL,
    status TEXT NOT NULL;
  1. Instale as dependências do projeto
npm install
  1. Crie um arquivo .env e preencha os dados da API do Gemini e do Banco de Dados conforme o arquivo .env.example:
DATABASE_URL=postgresql://meu_usuario:minha_senha@localhost:porta/nome_do_banco
GEMINI_API_KEY=minha_chave
JWT_SECRET=Gere um hexadecimal aleatorio

Sugestão: utilize o Browserling para gerar um hexadecimal aleatório.

  1. Execute o arquivo generate-token.ts para gerar um token de autorização JWT para acessar a aplicação:
npm run generate-token

Copie e guarde o token gerado. Ele deverá ser passado como cabeçalho das requisições GET e POST na API.

Authorization Bearer <meu_token>
  1. Rode o projeto
npm run dev

↪️ Acesso

Acesse a aplicação através de:

http://localhost:3000/api/comments

Utilize ferramentas de terminal como cURL ou httpie ou clientes como Insomnia ou Postman para realizar as requisições.
A API possui duas rotas:

  • GET: lista todos os comentários
  • POST: envia um comentário
    • corpo da requisição GET:
    Authorization: Bearer meu_token
    • corpo da requisição POST:
    Authorization: Bearer meu_token
    {"name": "meu_nome", "content": "meu_comentário"}

Conheça também: disponibilizamos uma interface amigável em React, caso você deseje acessar a API via web: Clone o repositório: sjcc-frontend
Todas as instruções de configuração estarão disponíveis lá!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 100.0%