NAVES DEV - API

Api de uso pessoal para gestão de projetos pessoais

Criado em Junho, 2025

Introdução

Uma API ou (Application Programming Interface) é um método em que duas aplicações se comunicam entre si, sendo hoje muito usado em diversas empresas. No caso desta aplicação, ela serve para a gerência de projetos pessoais, sendo fundamental para comunicar um servidor com uma página estática para transforma-la em dinâmica e utilizar ferramentas como banco de dados sem comprometer dados sigilosos, oque é essêncial para por exemplo, contar acessos.

Utilização

Esta api utiliza Node.js como principal framework para produção do projeto. O projeto consta também com o uso de banco de dados em nuvem e Redis. Atualmente, utiliza-se neste projeto as bibliotecas Fastify e alguns de seus plugins e MySQL2 para comunicação com banco de dados em nuvem.

Acesse o repositório no GitHub para ver com detalhes:

Rotas

Todas as rotas que atualmente constam no projeto.

Meus projetos e informações específicas sobre eles estão salvos em bancos de dados, tendo isso em mente, estas rotas fornecem o acesso aos dados dos projetos e atualizam informações.

Retorna os websites presentes no banco de dados e algumas informações como indentificação e número de acessos.

  • Método: GET

Exemplo de resposta:

{
    "status":true,
    "response":[{
        "wname":"MeuPortfolio",
        "waccess":240,
        "wcdate":"2025-05-30T17:11:33.000Z"
    },
    {
        "wname":"NavesDev-Api",
        "waccess":5,
        "wcdate":"2025-06-03T13:30:25.000Z"
    }]
}
          

Retorna o website que foi digitado na URL e algumas informações como indentificação e número de acessos dele.

  • Método: GET

Exemplo de resposta:

{
    "status":true,
    "response":{
        "waccess":14,
        "wname":"NavesDev-Api",
        "wcdate":"2025-06-03T13:30:25.000Z"
    }
}
          

Registra um novo acesso ao website que foi digitado na rota e retorna o tempo em milisegundos para poder registrar um novo acesso (para o tratamento no front-end).

  • Método: GET
  • Limite específico: 1 requisição(ip) a cada 10 minutos.

Exemplo de resposta:

{
    "status":true,
    "nextAccess":120000
}
          

CamisAI é a assistente virtual desenvolvida por mim para tirar dúvidas a respeito da minha capacidade profissional. Ela foi criada em integração com a Gemini API, utilizando o modelo Gemini2.5 flash.

Atualiza os assets da IA (como base de conhecimento e entre outros).

  • Método: GET
  • Limite específico: 1 requisição(global) por hora
  • Tempo de expiração: 3 dias sem uso.

Exemplo de resposta:

{
  status: true,
  message: "Atualizado com sucesso no sistema.",
}
          

Conversa com a IA (envia mensagem e obtém resposta lógica).

  • Método: POST
  • Limite específico: 4 requisições(ip) por minuto
    8 requisições(global) por minuto.

Body necessário(JSON):

  1. "prompt"*: "Mensagem do usuário"
Fim

Exemplo de resposta:

{
  "message":"Olá novamente! Eu sou a Camis AI, a sua assistente aqui no portfólio digital do NavesDev. Meu propósito é te ajudar a descobrir mais sobre o trabalho, as habilidades e os projetos do Davi de Sousa Naves, um desenvolvedor Full-Stack. Fui construída principalmente em Python e Node.JS, e sou hospedada na NavesDev API. Que tal começarmos explorando um pouco sobre o Davi? Você pode clicar no botão abaixo para saber mais sobre ele!",
  "commands":["goToSec/Sobre Mim"],
  "sender":"model"
}
          

Retorna o histórico de conversa entre o usuário e a CamisAI.

  • Método: GET
  • Limite específico: 10 requisições(ip) por minuto.
  • Armazenamento máximo: 20
  • Tempo de expiração: 2 semanas sem uso.

Exemplo de resposta:

{
  status:true,
  history :[{
    "role":"user",
    "message":"Se apresente (novamente) e envie algum comando",
    "timestamp":"2025-07-06T02:00:58.101Z"
  },
  {
    "role":"model",
    "message":"Olá novamente! Eu sou a Camis AI, a sua assistente aqui no portfólio digital do NavesDev. Meu propósito é te ajudar a descobrir mais sobre o trabalho, as habilidades e os projetos do Davi de Sousa Naves, um desenvolvedor Full-Stack. Fui construída principalmente em Python e Node.JS, e sou hospedada na NavesDev API. Que tal começarmos explorando um pouco sobre o Davi? Você pode clicar no botão abaixo para saber mais sobre ele!",
    "commands":["goToSec/Sobre Mim"],
    "timestamp":"2025-07-06T02:00:59.494Z"
  }]
}
          

Limitação geral

Esta api consta com limites de requisições por ip.O limite de requisições é de 60 por ip, a cada hora (60 divididos para todas as rotas).