Nexus Commerce & Marketplace Engine
Plataforma completa de comércio eletrônico multi-tenant construída com Laravel 11 e Vue.js 3. Implementa retenção de fundos em garantia (Escrow flow) até a confirmação de entrega, segregação estrita de privilégios (RBAC com Admin, Seller e Customer), moderação ativa de lojistas parceiros, emissão de tokens de autenticação via Sanctum/remember_tokens e esteira de deploy conteinerizada no Railway integrada com PostgreSQL.
Destaques de Engenharia
Fluxo de Arquitetura
[Navegador / Cliente]
│
▼ HTTPS / Vite + Vue.js 3 (SPA)
[Frontend Cloud (Railway)]
│
▼ REST API (Bearer Tokens / Sanctum)
[Laravel 11 REST Engine]
│
├──► [Auth & RBAC Middleware] (Admin / Seller / Customer)
├──► [Escrow & Wallet Processor] (Retenção / Liberação de Saldo)
└──► [PostgreSQL Database] (Users, Profiles, Wallets, Products, Orders)• Frontend: SPA reativa em Vue 3 (Composition API) com visualização dinâmica de catálogo, gaveta de checkout e modal unificado de controle administrativo
• Backend: Laravel 11 estruturado em camadas de serviço, controllers RESTful e middleware customizado para validação de RBAC
• Segurança e Identidade: Hash de senhas Bcrypt, validação de unicidade de e-mail/CPF e emissão de tokens de sessão persistente
• Dados: Modelagem relacional no PostgreSQL com tabelas dedicadas a seller_profiles, seller_wallets e produtos moderados
• Infraestrutura: Provisionamento isolado de microsserviços frontend e backend na nuvem Railway
Implementação em Código
Route::middleware('api.auth')->group(function () {
Route::get('/admin/sellers/pending', function (Request $request) {
if ($request->user()->role !== 'ADMIN') {
return response()->json(['message' => 'Acesso negado.'], 403);
}
return User::where('role', 'SELLER')->where('is_approved', false)->latest()->get();
});
Route::post('/admin/sellers/{id}/approve', function (Request $request, $id) {
if ($request->user()->role !== 'ADMIN') {
return response()->json(['message' => 'Acesso negado.'], 403);
}
$seller = User::where('role', 'SELLER')->findOrFail($id);
$seller->is_approved = true;
$seller->save();
return response()->json(['message' => "Vendedor {$seller->name} aprovado!"]);
});
});Desafios Técnicos Resolvidos
Desafio:
Garantir que lojistas recém-cadastrados não publiquem produtos na vitrine antes de passarem por aprovação documental e antifraude.
Resolução Implementada:
Implementação de trava condicional na camada de cadastro e criação automática de registros vinculados em seller_profiles com status pendente, associado a middleware que valida a flag is_approved antes de liberar rotas de criação no catálogo.
Desafio:
Centralizar operações de perfis heterogêneos (Admin, Lojista e Comprador) mantendo a interface leve e responsiva.
Resolução Implementada:
Desenvolvimento de modal de controle unificado com abas dinâmicas no Vue 3, carregando formulários de gestão de CPF, segurança, moderação e catálogo sob demanda conforme o perfil autenticado.
Tem interesse em detalhes da arquitetura ou código deste projeto?
Conversar no WhatsApp