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:
@@ -0,0 +1,248 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user