Skip to content

ThiagoM22/APIEnercheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡API Enercheck

         

📖 Descrição

Esta API oferece uma solução completa para gerenciamento de usuários, planos de serviço e projetos, focada no setor elétrico.

Seu principal diferencial é a integração de um Módulo de Inteligência Artificial, alimentado pelo Google Gemini, que permite o envio e análise automatizada de plantas elétricas. A plataforma garante a autenticação segura de contas e a associação de usuários a diferentes níveis de planos e aos projetos que gerenciam.


🧠 Módulo de Inteligência Artificial (Gemini)

O recurso central da Enercheck é a capacidade de processar e analisar projetos elétricos.

Como Funciona:

  1. O usuário envia a imagem ou PDF da planta elétrica para o endpoint de análise do projeto.
  2. A API utiliza o modelo Gemini para interpretar o diagrama e o layout.
  3. O resultado é um relatório estruturado que fornece insights técnicos e validações.

📊 Análises e Retornos:

  • Validação de Conformidade: Verifica se a planta segue padrões e normas elétricas vigentes (e.g., NBRs).
  • Identificação de Componentes: Reconhecimento e listagem de elementos (disjuntores, fiação, tomadas, etc.).
  • Sugestões de Otimização: Recomendações para eficiência energética ou ajustes no dimensionamento.

⚙️ Tecnologias Utilizadas

  • Linguagem/Plataforma: ASP.NET Core 8 (C#)
  • ORM: Entity Framework Core
  • Banco de Dados: Microsoft SQL Server
  • Autenticação: ASP.NET Identity e JWT Bearer Token
  • Documentação: Swagger
  • Inteligência Artificial: Google GenAI (Gemini)

📦 Estrutura do Projeto

/APIEnercheck
├── Controllers/
│   └── (Lógica de Rota: Usuários, Projetos, Planos)
├── Data/
│   └── (Contexto do EF Core e Configurações de BD)
├── Migrations/
│   └── (Histórico de Migrações do Banco de Dados)
├── Models/
│   └── (Entidades do Projeto: User, Project, Plan, etc.)
├── Properties/
├── Services/
│   └── (Regras de Negócio e Lógica da IA/Gemini)
├── APIEnercheck.csproj
├── APIEnercheck.http
├── Program.cs 
├── appsettings.json 
└── appsettings.Development.json

🚀 Como Executar o Projeto

🔸 Requisitos Prévios

  • .NET 8.0
  • Um servidor Microsoft SQL Server ou LocalDB (para desenvolvimento).

1. Clonar o projeto

git clone https://github.com/ThiagoM22/APIEnercheck.git
cd APIEnercheck

2. Configurar Banco de Dados

"ConnectionStrings": {
  "DefaultConnection": "Server=SEU_SERVIDOR;Database=NOME_DB;Trusted_Connection=True;TrustServerCertificate=True;"
}

3. Aplicar Migrations

dotnet ef database update
# OU, se usando Package Manager Console: Update-Database

4. Executar o Projeto

dotnet run

📚 Documentação e Autentificação

🔑 Autenticação

A API utiliza JWT Bearer Token e ASP.NET Identity para controle de acesso baseado em roles (Cliente, Admin).

Para fazer requisições autenticadas, inclua o cabeçalho:

Authorization: Bearer SEU_TOKEN_JWT

📄 Documentação (Swagger)

Após iniciar o projeto, acesse a documentação interativa com todos os endpoints disponíveis:

http://localhost:5000/swagger 
# (A porta pode variar dependendo da configuração do Kestrel))

📌 Endpoints Principais

  • 👤 Usuarios

Método Rota Descrição
GET /api/Usuarios Lista de usuarios
GET /api/Usuarios{id} Busca usuário por ID
GET /api/Usuarios/me Busca usuário logado
POST /api/Usuarios/Cliente Cria um novo usuário Cliente
POST /api/Usuarios/Admin Cria um novo usuário Admin
PUT /api/Usuarios{id} Atualiza o usuário
PUT /api/Usuarios/usuario/add/plano Adiciona um plano ao usuário
DELETE /api/Usuarios{id} Remove um usuário
  • 📁 Projetos

Método Rota Descrição
GET /api/`Projetos Lista de planos
POST /api/Projetos Cria um projeto
POST /api/Projetos/projeto/{id}/analisar Cria uma analise de uma planta elétrica
PUT /api/{id} Atualizar plano
DELETE /api/projetos{id} Remove um plano
  • 🧩 Planos

Método Rota Descrição
GET /api/Planos Lista de planos
GET /api/Planos/{id} Busca plano por ID
POST /api/Planos Cria um plano
PUT /api/{id} Atualizar plano
DELETE /api/Planos{id} Remove um plano

📄 Licença

Este projeto está licenciado sob a Licença MIT. Para mais detalhes, consulte o arquivo LICENSE.

License: MIT


🧑‍💻 Desenvolvido por

Avatar de Thiago Mazzi
Thiago Mazzi
💻 Dev FullStack
Avatar de Luiz Ghilherme
Luiz Guilherme
💻 Dev FullStack

About

Enercheck é uma API em ASP.NET Core 8 que oferece gerenciamento robusto de usuários e projetos, integrando um Módulo de IA (Gemini) para análise e validação automatizada de plantas elétricas.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors