SNYPD
Vinted bot and monitor for resellers: SNYPD watches your saved searches and alerts you to new matching listings. No autobuy, no Vinted login needed. Free plan.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证SaaS multi-tenant de gestao para revendas de veiculos: catalogo SEO + admin RBAC + integracoes Mercado Livre, Facebook, Google Merchant, WhatsApp (.NET 8 + Angular 18)
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Codigo publicado para fins de portfolio. Uso comercial requer autorizacao — ver LICENSE. Sistema multi-tenant de gestao para revendas de veiculos: catalogo publico SEO + admin (RBAC) + integracoes com Mercado Livre, Facebook Catalog, Google Merchant e WhatsApp Business.查看完整 README ↗
Demo no ar: connectveiculos.dev.br
Codigo publicado para fins de portfolio. Uso comercial requer autorizacao — ver LICENSE.
Sistema multi-tenant de gestao para revendas de veiculos: catalogo publico SEO + admin (RBAC) + integracoes com Mercado Livre, Facebook Catalog, Google Merchant e WhatsApp Business.
acme.connectveiculos.dev.br → tenant acme), banco isolado em data/{slug}.db# 1. Clonar
git clone https://github.com/Nunes-99/ConnectVeiculos.git
cd ConnectVeiculos
# 2. Backend
cd back-end/ConnectVeiculos.API
cp appsettings.Development.example.json appsettings.Development.json
dotnet run --launch-profile http
# → http://localhost:5219 (banco SQLite criado automaticamente, admin seeded)
# 3. Frontend (em outro terminal)
cd ../front-end/ConnectVeiculos.Web
npm install
npx ng serve
# → http://localhost:4200
Login default: [email protected] / admin123 (criado automaticamente no primeiro startup do backend).
| Integracao | Funciona local? | O que precisa |
|---|---|---|
| FIPE (autocomplete marca/modelo) | ✅ | Nada — usa API publica gratuita |
| Detran (consulta debitos) | ✅ | Nada — redireciona pro site oficial do estado |
| Mercado Livre | ❌ (so prod) | App em developers.mercadolivre.com.br + HTTPS publico |
| WhatsApp Business | ❌ (so prod) | Conta Meta Business + numero verificado + HTTPS publico |
| Facebook Catalog | ❌ (so prod) | URL publica pro feed |
| Google Merchant | ❌ (so prod) | Dominio verificado |
| Push PWA | ⚠️ Opcional | Gerar VAPID keys (ver abaixo) |
Gerar uma vez:
npx web-push generate-vapid-keys
Adicione as 2 strings em appsettings.Development.json:
"Vapid": {
"PublicKey": "BCoEQ...",
"PrivateKey": "PfIeB...",
"Subject": "mailto:[email protected]"
}
Sem isso, push fica desligado — resto do sistema funciona normal.
# Unitarios backend (275 testes)
cd back-end
dotnet test ConnectVeiculos.sln
cd ../front-end/ConnectVeiculos.Web
# Unitarios frontend (6 testes Karma/Jasmine)
npx ng test --watch=false --browsers=ChromeHeadless
# E2E (17 testes Playwright) — precisa backend rodando
npx playwright install chromium # primeira vez
npx playwright test
Veja DEPLOY_ORACLE.md para o passo-a-passo completo. Resumo:
*.dominio para multi-tenant)cp .env.example .env + preencher credenciaisdocker compose up -d --buildbash scripts/setup-https.sh para HTTPS via Let's EncryptO sistema serve N clientes (concessionarias) numa mesma instalacao Docker, cada um com banco SQLite isolado. Resolucao por subdomain:
connectveiculos.dev.br -> tenant "default" (banco data/cliente.db)
acme.connectveiculos.dev.br -> tenant "acme" (banco data/acme.db)
motorsbr.connectveiculos.dev.br -> tenant "motorsbr" (banco data/motorsbr.db)
Onboarding em ~2 min via script:
bash scripts/criar-tenant.sh \
--slug acme \
--nome "Acme Veiculos LTDA" \
--admin-email [email protected] \
--admin-senha SenhaForte123
Detalhes:
| Item | Status |
|---|---|
| Backend builda | ✅ 0 erros, 0 warnings |
| Frontend builda | ✅ |
| Testes unitarios | ✅ 275/275 backend + 6/6 frontend |
| Testes E2E | ✅ 17/17 |
| Multi-tenant | ✅ ativo em producao com tenant default |
| Deploy em producao | ✅ https://connectveiculos.dev.br (Oracle Free Tier) |
| Cert SSL Lets Encrypt | ✅ renovacao automatica + alerta no Discord se < 7 dias |
| Backup off-site | ✅ daily SQLite -> Object Storage Oracle (retencao 30 dias) |
| Health check + monitoring externo | ✅ UptimeRobot + status page |
| Credenciais ML/Meta/Google/WhatsApp | ⏳ cliente operador configura via /integracoes |
ConnectVeiculos/
├── back-end/ # .NET 8 (Clean Architecture)
│ ├── ConnectVeiculos.API/ # Controllers, middleware
│ ├── ConnectVeiculos.Application/ # UseCases, ViewModels
│ ├── ConnectVeiculos.Core/ # Entities, interfaces
│ ├── ConnectVeiculos.Infrastructure/ # EF Core, services externos
│ └── ConnectVeiculos.Tests/ # xUnit + Moq + FluentAssertions
├── front-end/ConnectVeiculos.Web/ # Angular 18 + SSR
├── nginx/ # Config reverse proxy
├── scripts/ # Setup HTTPS, criar cliente
├── banco-de-dados/ # Schema SQL de referencia
└── docker-compose.yml
Frontend nao builda com erro de Node: rode nvm use 22 antes de npm install.
Backend porta 5219 em uso: mate o processo ou troque a porta em Properties/launchSettings.json.
E2E falha com timeout: o backend precisa estar rodando antes de npx playwright test.
Login admin nao funciona: apague back-end/ConnectVeiculos.API/ConnectVeiculos.db e rode dotnet run de novo (recria com seed limpo).