feat(cms): implement complete SysSiteCMS content management system

Initial implementation of the HomeSysPanel CMS built with Laravel 13.0.
Includes complete admin panel, content management, user authentication,
modular architecture for products/services/chatbot, and marketing tools.

Key features:
- User authentication with email verification and password reset
- Role-based access control (Admin/User with granular permissions)
- Content management (pages, news, FAQ, downloads, galleries, banners)
- Contact management system with subjects and responses
- Marketing tools (email campaigns, visitor analytics, social sharing)
- Modular architecture (Products, Services, Chatbot modules)
- AI Chatbot integration with OpenRouter.ai and LlamaCpp support
- Visitor tracking with geolocation
- SEO optimization with meta tags and Open Graph
- Responsive design with Bootstrap 5
- Dark mode support
- Maintenance mode
- Feature request system
This commit is contained in:
marco
2026-09-07 19:06:53 -03:00
commit 38295e7e88
279 changed files with 33691 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Models\ContactMessage;
use App\Models\ContactSubject;
use Illuminate\Support\Str;
class ContactMessageSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$subjects = ContactSubject::all();
if ($subjects->isEmpty()) {
$this->call(ContactSubjectSeeder::class);
$subjects = ContactSubject::all();
}
$names = [
'Ricardo Oliveira', 'Mariana Santos', 'Carlos Eduardo', 'Ana Beatriz',
'Fernando Souza', 'Juliana Lima', 'Marcos Rocha', 'Patrícia Gomes',
'Luiz Henrique', 'Sofia Almeida'
];
$messages = [
'Gostaria de um orçamento para manutenção de 5 computadores na minha empresa.',
'Vocês têm notebooks da marca Dell em estoque? Qual o valor médio?',
'Estou precisando de uma placa de vídeo específica para jogos, vocês trabalham com encomendas?',
'Meu computador não liga mais após uma queda de energia. Vocês fazem busca em domicílio?',
'Quais os horários disponíveis para uma visita técnica nesta semana?',
'Gostaria de saber se vocês fazem instalação de redes cabeadas para escritórios.',
'Preciso formatar meu notebook e fazer backup de arquivos importantes.',
'Vocês vendem licenças originais do Windows e Office?',
'Meu teclado parou de funcionar algumas teclas, vocês fazem a troca?',
'Gostaria de informações sobre o plano de manutenção mensal para empresas.'
];
foreach ($names as $index => $name) {
ContactMessage::create([
'name' => $name,
'email' => Str::lower(Str::slug($name)) . '@exemplo.com',
'company' => $index % 2 == 0 ? 'Empresa ' . ($index + 1) : null,
'website' => $index % 3 == 0 ? 'https://empresa' . ($index + 1) . '.com.br' : null,
'whatsapp' => '(11) 9' . rand(7000, 9999) . '-' . rand(1000, 9999),
'subject_id' => $subjects->random()->id,
'message' => $messages[$index],
'read' => rand(0, 1),
'created_at' => now()->subDays(rand(0, 30))->subHours(rand(0, 23)),
]);
}
}
}