Este é o backend de uma plataforma voltada para entusiastas, consultores e compradores de hardware de computador, focada em facilitar a montagem de builds personalizadas e a busca por peças no mercado nacional.
Find a file
2025-12-15 10:52:01 -03:00
.github/workflows feat: add GitHub Actions workflow for Go tests 2025-05-23 01:38:33 -03:00
cmd refactor: update part selection use cases to use updatePartsUC for improved logic 2025-12-11 18:55:42 -03:00
infra fix: enhance filtering logic for parts by adding integrated graphics and memory type criteria 2025-12-15 10:46:25 -03:00
internal fix: add nil check for part.Part in UpdatePartsUseCase to prevent nil pointer dereference 2025-12-15 10:49:20 -03:00
.env.example add example .env file and update .gitignore to exclude .env 2025-05-22 17:51:55 -03:00
.gitignore add example .env file and update .gitignore to exclude .env 2025-05-22 17:51:55 -03:00
docker-compose.yml initial commit 2025-05-22 17:47:06 -03:00
go.mod feat: add gin-contrib/cors dependency for CORS support 2025-06-08 20:35:58 -03:00
go.sum feat: add gin-contrib/cors and update check package version in go.sum 2025-06-08 20:36:01 -03:00
LICENSE feat: add MIT License file to the project 2025-05-23 01:58:57 -03:00
README.md refactor: update README to enhance clarity and structure of project overview and functionalities 2025-12-11 21:28:18 -03:00

PC Ideal - Backend

API inteligente para recomendação de builds de PC personalizadas

API REST em Go que utiliza IA generativa e estratégias de orçamento dinâmicas para recomendar configurações de PC otimizadas com base no perfil de uso e orçamento do usuário.


Funcionalidades

  • Consulta de peças com atualização automática de preços via scraper externo
  • Recomendações de builds com 3 perfis (Econômica, Balanceada, Performance)
  • Estratégias de orçamento inteligentes adaptadas ao tipo de uso (Gaming, Work, Office)
  • Análise por IA usando Google Gemini para cada build gerada
  • Validação de compatibilidade entre componentes

Arquitetura

Projeto estruturado seguindo Clean Architecture:

  • Domain: Entidades e regras de negócio (Part, Build, BudgetStrategy)
  • Use Cases: Lógica de negócio e algoritmos de seleção de componentes
  • Infrastructure: HTTP controllers, repositórios MongoDB, integrações externas
  • Dependency Injection: Configurada no main.go

Como Funciona

O sistema gera 3 builds (Econômica, Balanceada, Performance) seguindo estas etapas:

  1. Seleção de estratégia de orçamento baseada no tipo de uso e valor
  2. Busca de componentes compatíveis seguindo ordem de dependências (CPU → Motherboard → GPU → PSU → RAM → SSD)
  3. Validação de compatibilidade (socket, tipo de memória, potência)
  4. Análise por IA gerando recomendações personalizadas

Endpoints

GET /api/parts/              # Lista todas as peças
GET /api/parts/:id           # Detalhes de uma peça
POST /api/builds/recommendations  # Gera recomendações de builds

Exemplo de requisição:

{
  "budget": 5000.00,
  "usage_type": "GAMING",
  "cpu_preference": "AMD",
  "gpu_preference": "NVIDIA"
}

Stack

  • Go 1.24 com Gin Framework
  • MongoDB para persistência
  • Google Gemini AI para análises
  • Scraper API para atualização de preços

Executando o Projeto

# Clone e configure
git clone https://github.com/Luzin7/pcideal-be.git
cd pcideal-be

# Configure .env com as credenciais necessárias
PORT=8080
DATABASE_URL=mongodb://localhost:27017
PCIDEAL_DB_NAME=pcideal
SCRAPER_API_URL=...
SCRAPER_API_KEY=...
GOOGLE_AI_API_KEY=...

# Inicie MongoDB
docker-compose up -d

# Execute
go run cmd/main.go

Testes

go test ./...                    # Todos os testes
go test -cover ./...             # Com cobertura

PC Ideal - Builds inteligentes para todos os orçamentos