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
- Node.js + Express (API REST)
- Google Gemini (Moderador de Comentários)
- PostgreSQL
Caso não possua, instale os requisitos abaixo:
- Node.js
- npm
- PostgreSQL
- Chave da API do Google Gemini
- Clone o repositório:
git clone https://github.com/lucasolima/sjcc/
cd sjcc- 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;- Instale as dependências do projeto
npm install- 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 aleatorioSugestão: utilize o Browserling para gerar um hexadecimal aleatório.
- Execute o arquivo
generate-token.tspara gerar um token de autorização JWT para acessar a aplicação:
npm run generate-tokenCopie e guarde o token gerado. Ele deverá ser passado como cabeçalho das requisições GET e POST na API.
Authorization Bearer <meu_token>- Rode o projeto
npm run devAcesse 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á!