# SaveInMed Seeder API Microserviço utilitário para popular o banco de dados com dados de teste para desenvolvimento e demonstração. ## ⚠️ AVISO IMPORTANTE **Este serviço é DESTRUTIVO!** Ele: 1. **REMOVE** todas as tabelas existentes (`companies`, `products`, `users`, etc.) 2. **RECRIA** apenas as tabelas `companies` e `products` 3. **NÃO RECRIA** a tabela `users` - você precisa reiniciar o backend após usar o seeder ## 🎯 Propósito Gerar dados de teste para o marketplace SaveInMed, criando: - **400 farmácias** na região de Anápolis/GO - **20-500 produtos** por farmácia - Dados variados de medicamentos com preços e validades realistas ## 🏗️ Arquitetura ``` seeder-api/ ├── main.go # Entry point HTTP (POST /seed) ├── pkg/ │ └── seeder/ │ └── seeder.go # Lógica de geração de dados ├── go.mod └── go.sum ``` ## 📍 Dados Gerados ### Localização - Centro em **Anápolis, GO** (Lat: -16.3281, Lng: -48.9530) - Variação de ~5km para cada farmácia ### Farmácias - **Quantidade**: 400 empresas - **Categoria**: `farmacia` - **70%** verificadas (`is_verified = true`) - CNPJs gerados automaticamente ### Produtos (Medicamentos) - **20-500 produtos** por farmácia - **Categorias**: Analgésicos, Antibióticos, Anti-inflamatórios, Cardiovasculares, Dermatológicos, Vitaminas, Oftálmicos, Respiratórios, etc. - **Validade**: 30 dias a 2 anos - **Variação de preço**: -20% a +30% do preço base ## 🔧 Variáveis de Ambiente ```bash DATABASE_URL=postgres://user:password@host:port/dbname?sslmode=disable PORT=8216 # Porta padrão do seeder ``` ## 🚀 Uso ### Executar Localmente ```bash # Configurar DATABASE_URL export DATABASE_URL=postgres://postgres:postgres@localhost:5432/saveinmed?sslmode=disable # Executar go run main.go ``` ### Endpoint ```bash # Iniciar seeding POST http://localhost:8216/seed # Resposta de sucesso { "tenants": 400, "products": 85432, "location": "Anápolis, GO" } ``` ## ⚡ Fluxo de Uso Recomendado 1. **Parar o backend principal** (para evitar conflitos de conexão) 2. **Executar o seeder**: `curl -X POST http://localhost:8216/seed` 3. **Reiniciar o backend** (para aplicar migrations e recriar tabela `users`) 4. A API estará pronta com dados de teste ## 🐳 Docker ```bash # Build docker build -t saveinmed-seeder:latest . # Run docker run -p 8216:8216 \ -e DATABASE_URL=postgres://user:password@host:5432/saveinmed \ saveinmed-seeder:latest # Seed curl -X POST http://localhost:8216/seed ``` ## 📝 Notas - Os dados são **regeneráveis** - execute novamente para limpar e recriar - Ideal para ambientes de **desenvolvimento** e **staging** - **NÃO USE EM PRODUÇÃO** - vai apagar todos os dados reais! ## 📝 Licença MIT