SysVector - Framework PHP


InformaciΓ³n del Proyecto

SysVector es un sistema desarrollado por Marco Costa (contato@syspanel.com.br), con cΓ³digo fuente licenciado bajo la Licencia MIT.

Este software se ofrece gratuitamente y puede ser usado, modificado y distribuido bajo los tΓ©rminos de la Licencia MIT.

Project website: https://sysvector.syspanel.com.br

## Donations via PayPal If you wish to support the development of SysVector, consider making a donation via PayPal to:

Donaciones via PAYPAL

Si desea apoyar el desarrollo de SysVector, considere hacer una donaciΓ³n via PAYPAL a Donate via PayPal


πŸš€ Features

Core Features

  • MVC Architecture - Clean separation of concerns with Models, Views, and Controllers
  • Modern PHP 8.3 - Built with latest PHP features and best practices
  • Database Abstraction - Uses Illuminate Database (Eloquent ORM) for database operations
  • Templating Engine - Twig for powerful and secure template rendering
  • Routing System - Symfony Routing component for flexible URL routing
  • Dependency Injection - PHP-DI for managing class dependencies
  • Security - Built-in CSRF protection and input sanitization

Advanced Features

  • Logging - Monolog for comprehensive application logging
  • Email Logging - Dedicated email logging system with detailed metrics and fallback tracking
  • Advanced Logging - Structured logging system with multiple levels and categories (errors, database, security, performance)
  • Caching - Symfony Cache for performance optimization
  • Console Commands - Symfony Console for CLI operations
  • Email Support - Symfony Mailer for sending emails
  • Image Processing - Intervention Image for image manipulation
  • Multilingual Support - Built-in translation system for multiple languages

πŸ”§ Installation

1. Prerequisites

Before installing SysVector, ensure you have the following:

2. Get the Project

Download the project from the official website: https://sysvector.syspanel.com.br

Extract the file and navigate to the project directory:

cd SysVector

3. Install Dependencies

Use Composer to install the project dependencies:

composer install

4. Configure Environment

Copy the .env.example file to .env and configure your environment variables:

cp .env.example .env

Edit the .env file with your information:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password

5. Set Permissions

Change the permissions of the storage, cache and logs directories to ensure that the web server can write to them:

chmod -R 775 storage
chmod -R 775 cache
chmod -R 775 logs

6. Generate Application Key

php bin/console generate:app-key

7. Run Migrations

Run migrations to create tables in the database:

php bin/console migrate:crudexample

πŸ“‹ Logging System Configuration

SysVector includes a comprehensive logging system with two main components:

Email Logging System

Dedicated email logging system that tracks all email operations with detailed metrics:

Configuration

# Enable/disable email logging
LOG_EMAILS=true    # Enable detailed email logging
# LOG_EMAILS=false   # Disable email logging

Features

Log Location: logs/email.log

Advanced Logging System

Comprehensive logging system with multiple categories and configurable levels:

Configuration

# Configure logging level
ERROR_REPORTING=true    # Complete logging (DEBUG, INFO, WARNING, ERROR)
# ERROR_REPORTING=false   # Critical errors only (WARNING, ERROR, CRITICAL)
# ERROR_REPORTING=minimal  # Fatal errors only (ERROR, CRITICAL)
# ERROR_REPORTING=disabled # Disable all logging

Log Categories

Usage in Controllers

// Inject LoggingService
public function __construct(
    \App\Services\LoggingService $loggingService
) {
    $this->loggingService = $loggingService;
}

// Log different types of events
$this->loggingService->logApp('info', 'User action completed', $context);
$this->loggingService->logError('Database connection failed', $context, $exception);
$this->loggingService->logSecurity('login_attempt', 'User login', $context);
$this->loggingService->logPerformance('database_query', $duration, $context);

Features

Documentation: See logging_system_documentation.md for complete documentation.


πŸ“¦ Dependencies

Core Framework

Frontend & Templating

Security & Authentication

Utilities


πŸ“ Project Structure

SysVector/
β”œβ”€β”€ app/                    # Application source code
β”‚   β”œβ”€β”€ Console/           # Console commands
β”‚   β”œβ”€β”€ Controllers/       # MVC Controllers
β”‚   β”œβ”€β”€ Interfaces/        # PHP interfaces
β”‚   β”œβ”€β”€ Middlewares/       # HTTP middlewares
β”‚   β”œβ”€β”€ Models/            # MVC Models
β”‚   β”œβ”€β”€ Repositories/      # Data repositories
β”‚   └── Services/          # Application services
β”œβ”€β”€ bin/                   # Executable scripts
β”œβ”€β”€ bootstrap/             # Application bootstrap files
β”œβ”€β”€ cache/                 # Cache files
β”œβ”€β”€ config/                # Configuration files
β”œβ”€β”€ database/              # Database files and migrations
β”œβ”€β”€ logs/                  # Application logs
β”‚   β”œβ”€β”€ app.log           # General application logs
β”‚   β”œβ”€β”€ email.log         # Email operation logs
β”‚   └── error_reporting/  # Advanced logging system
β”‚       β”œβ”€β”€ errors-YYYY-MM-DD.log      # Error logs
β”‚       β”œβ”€β”€ database-YYYY-MM-DD.log    # Database logs
β”‚       β”œβ”€β”€ security-YYYY-MM-DD.log    # Security logs
β”‚       └── performance-YYYY-MM-DD.log  # Performance logs
β”œβ”€β”€ public/                # Public web root
β”œβ”€β”€ resources/             # Application resources
β”‚   └── views/            # Twig templates
β”œβ”€β”€ storage/               # Application storage
β”œβ”€β”€ tests/                 # Test files
└── vendor/                # Composer dependencies

πŸ“œ License

This project is licensed under the MIT License. See the LICENSE file for details.

πŸ“§ Support

If you encounter any issues or have questions, please:

Β© 2025 Marco Costa - Todos los derechos reservados bajo la Licencia MIT.