Files
marco 38295e7e88 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
2026-09-07 19:06:53 -03:00

249 lines
6.9 KiB
Markdown
Executable File

# HomeSysPanel - SysSiteCMS CMS
A complete Content Management System (CMS) built with Laravel 13.0 for managing business content, products, services, news, and marketing campaigns.
## Features
- **Content Management**: Full CRUD for pages, products, services, galleries, news, FAQs, and downloads
- **News Module**: Complete news system with featured image, additional images gallery, author, publish date, active/deactivated status, SEO fields, and slug generation
- **Gallery System**: Image galleries organized by categories with multi-image upload support
- **User Management**: Multi-level authentication (Admin/Client) with email verification and permission-based access
- **Marketing Tools**: Visitor analytics, email marketing, and promotional features
- **Contact System**: Advanced contact form with subjects and response management
- **SEO Optimization**: Built-in SEO fields for pages, news, and global settings
- **Visitor Tracking**: Real-time visitor analytics with geolocation
- **Responsive Design**: Mobile-friendly interface for both public and admin areas
- **Modular Architecture**: Products, Services, and Chatbot modules can be enabled/disabled independently
- **AI Chatbot**: Intelligent customer service chatbot with OpenRouter.ai integration, knowledge base management, and conversation tracking
## Requirements
- PHP 8.3 or higher
- MySQL 8.0 / MariaDB 10.8+ / SQLite
- Redis (optional, for caching)
- Composer
- NPM
## Installation
### Clone the repository
```bash
git clone <repository-url>
cd app
```
### Install dependencies
```bash
composer install
npm install
```
### Environment setup
```bash
cp .env.example .env
php artisan key:generate
```
### Configure database
Edit `.env` file:
```env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=homesyspanel
DB_USERNAME=root
DB_PASSWORD=your_password
```
### Run migrations
```bash
php artisan migrate --seed
```
### Build assets
```bash
npm run build
```
### Start development server
```bash
php artisan serve
```
Access the application at `http://localhost:8000`
## Default Credentials
- **Email**: admin@syspanel.com.br
- **Password**: password
**Important**: Change the default password after first login.
## Documentation
- **Usage Manual**: [MANUAL_DE_USO_SYSSITE.md](MANUAL_DE_USO_SYSSITE.md)
- **Module System**: [MODULE_SYSTEM.md](MODULE_SYSTEM.md)
- **Skills and MCP Guide**: [SKILLS_AND_MCP_GUIDE.md](SKILLS_AND_MCP_GUIDE.md)
- **AI Coder Module Guide**: [AI_CODER_MODULE_GUIDE.md](AI_CODER_MODULE_GUIDE.md)
## Project Structure
```
app/
├── app/
│ ├── Http/
│ │ ├── Controllers/ # Application controllers
│ │ │ └── Admin/ # Admin panel controllers
│ │ └── Middleware/ # Custom middleware
│ ├── Models/ # Eloquent models
│ ├── Modules/ # Modular features (Products, Services)
│ │ ├── Products/ # Product catalog module
│ │ └── Services/ # Services catalog module
│ ├── Mail/ # Email classes
│ ├── Notifications/ # Notification classes
│ ├── Providers/ # Service providers
│ └── Support/ # Helpers and utility classes
├── config/ # Configuration files
├── database/
│ ├── migrations/ # Database migrations
│ └── seeders/ # Database seeders
├── resources/
│ └── views/ # Blade templates
├── routes/ # Route definitions
└── public/ # Public assets
```
## Database Schema
The application uses the following main tables:
- `users` - User accounts with type-based permissions
- `user_types` - User type definitions
- `products` - Product catalog (module)
- `product_categories` - Product categories (module)
- `services` - Services offered (module)
- `news` - News articles with SEO fields
- `news_images` - Additional images for news articles
- `galleries` - Image galleries
- `gallery_images` - Images within galleries
- `gallery_categories` - Gallery category organization
- `banners` - Homepage banners
- `pages` - Institutional pages with SEO
- `faqs` - Frequently asked questions
- `downloads` - Downloadable files
- `contact_messages` - Contact form submissions
- `contact_responses` - Responses to contact messages
- `contact_subjects` - Contact form subjects
- `visitor_logs` - Visitor tracking data
- `settings` - Global configuration
- `chatbot_knowledge` - Chatbot knowledge base entries
- `chatbot_conversations` - Chatbot conversation sessions
- `chatbot_messages` - Individual chatbot messages
## Permissions System
The admin panel uses a permission-based access control system. Available permissions:
| Permission | Description |
|------------|-------------|
| `pages` | Manage institutional pages |
| `news` | Manage news articles |
| `galleries` | Manage galleries and gallery categories |
| `products` | Manage products and categories (module) |
| `services` | Manage services (module) |
| `contacts` | Manage contact messages |
| `subjects` | Manage contact subjects |
| `faqs` | Manage FAQs |
| `downloads` | Manage downloads |
| `marketing` | Access marketing tools, analytics, banners |
| `chatbot` | Manage chatbot knowledge base and conversations (module) |
| `settings` | Manage global settings |
## Public Routes
| Route | Description |
|-------|-------------|
| `/` | Homepage |
| `/sobre` | About page |
| `/noticias` | News listing |
| `/noticias/{slug}` | News article detail |
| `/galerias/categoria/{slug}` | Galleries by category |
| `/galeria/{slug}` | Gallery detail |
| `/faq` | FAQ page |
| `/contato` | Contact form |
| `/downloads` | Downloads page |
| `/politica-privacidade` | Privacy policy |
| `/produtos` | Products catalog (module) |
| `/servicos` | Services catalog (module) |
| `/chatbot/*` | Chatbot API endpoints (module) |
## UI Libraries
- **Admin Panel**: SB Admin 2 (Bootstrap 4 + jQuery)
- **Public Pages**: Bootstrap 5.3
- **Icons**: Bootstrap Icons (MIT License)
## Development
### Running tests
```bash
php artisan test
```
### Code style
```bash
./vendor/bin/pint
```
### Clear cache
```bash
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
```
### Queue worker
```bash
php artisan queue:work
```
## Security
- All public forms include CSRF protection
- All public forms include CAPTCHA verification
- Permission-based access control for admin features
- Always keep dependencies updated
- Use HTTPS in production
- Set `APP_DEBUG=false` in production
- Configure proper file permissions
- Use strong passwords
## Support
For support and inquiries:
- Email: contato@syspanel.com.br
- Website: https://syspanel.com.br
## License
This software is proprietary. See [LICENSE.md](LICENSE.md) for details.
---
**Version**: 1.2
**Framework**: Laravel 13.0
**PHP**: 8.3+
**Last Updated**: May 2026