Proyecto Portafolio Electrónico 2015-2016

Hoy me quede esta tarde en casa y aproveche el tiempo de ajustar el sitio del blog con algunos plugins nuevos y otros no tanto,  además de “luchar” con los permisos de WordPress sobre la carpeta “content” al final un “/” al inicio de la ruta era todo  el problema. Entre terminales ssh recordaba el proyecto Portafolio que se inicio a finales del año 2015, aunque ha pasado bastante tiempo aún quedan algunas líneas que finalizar.

Fueron muchas tardes de café y bebidas agregando buenas conversaciones a la hora de almuerzo además de conocer muchas personas que aportaron ideas (de uso) al Proyecto.

Al día de esta publicación todavía no migramos el Proyecto al servidor Dell Poweredge por un tema de tiempo, el “PC Lenovo  Servidor” (Windows 7 Pro)  se ha comportado bien para unos 250 374 usuarios y creciendo.

Antes de iniciar el proyecto portafolio tenía serias dudas sobre cuales herramientas utilizaría, sobre el software de servidor estaba claro desde el comienzo que sería un entorno LAMP (Caballo ganador repite!),  el plazo fatal 6 meses ( a media jornada )  me complicaba bastante si debía desarrollar considerando el patrón de arquitectura de software MVC,  generalmente programo cada proyecto desde cero y trato de evitar el copy / paste, esto porque en la medida que vas realizando nuevos proyectos siempre el siguiente va un paso más arriba que el anterior, nuevas herramientas, se mejora el estilo de programación y el modelamiento de datos fluye de tal manera que cada nueva estructura de base de datos esta cada vez más lejos de algún tipo de error de diseño.

Para el desarrollo del proyecto se utilizaron las siguientes herramientas :

  • Servidor Web : Xampp
  • Base de datos: Mysql
  • Diagramas : Dia
  • Modelado de Base de Datos : Mysql Workbench
  • Editor de texto : SublimeText, Atom, Block de notas
  • Sistema Operativo : Windows 7 Pro 64
  • Frameworks : Laravel, Bootstrap

En cuanto a código, aquí dejo una clase para la tabla systemlogs que registra los eventos de los usuarios.

En el modelo :

class Systemlog extends Model
{
    //
     protected $table = 'systemlogs'; 


     public function storeEvent( $msg )
     {

       // registrar logs

            $systemlog = new Systemlog;

            $systemlog->evento = $msg;
            $systemlog->users_id = Auth::user()->id; 

            // Dirección IP
            if (!empty($_SERVER['HTTP_CLIENT_IP'])) 
            {
                    $ip = $_SERVER['HTTP_CLIENT_IP'];
            } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) 
            {
                    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
            } else {
                    $ip = $_SERVER['REMOTE_ADDR'];
            }

            $systemlog->ip = $ip; 

            $systemlog->so = PHP_OS;

            $systemlog->browser = $_SERVER['HTTP_USER_AGENT'];

            $systemlog->save();

            // Fin registro de evento

            return 0;


     }

En el controlador instancio el objeto :

/*
*
* Registrar logs para SOS
*
*/

$systemlog = new Systemlog;

$systemlog->storeEvent("SOS");

Eso por hoy,  hasta ajustar bien el blog les dejo algunas imágenes del portafolio electrónico.

Saludos, Mauricio Tapia

 

Agregar un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *