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.
O recurso central da Enercheck é a capacidade de processar e analisar projetos elétricos.
- O usuário envia a imagem ou PDF da planta elétrica para o endpoint de análise do projeto.
- A API utiliza o modelo Gemini para interpretar o diagrama e o layout.
- O resultado é um relatório estruturado que fornece insights técnicos e validações.
- 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.
- 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)
/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- .NET 8.0
- Um servidor Microsoft SQL Server ou LocalDB (para desenvolvimento).
git clone https://github.com/ThiagoM22/APIEnercheck.git
cd APIEnercheck"ConnectionStrings": {
"DefaultConnection": "Server=SEU_SERVIDOR;Database=NOME_DB;Trusted_Connection=True;TrustServerCertificate=True;"
}dotnet ef database update
# OU, se usando Package Manager Console: Update-Databasedotnet runA 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_JWTApó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))| 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 |
| 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 |
| 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 |
Este projeto está licenciado sob a Licença MIT. Para mais detalhes, consulte o arquivo LICENSE.
|
Thiago Mazzi 💻 Dev FullStack |
Luiz Guilherme 💻 Dev FullStack |