Estos son algunos de los proyectos en que he participado, divididos en públicos y privados según tengo opción de mostrarlos y ordenados por el más reciente.
Públicos
CAIM USACH (Noviembre 2008)
La web del Centro de Alumnos de Ingeniería en Minas de la Usach, basada en Joomla 1.5 y PhpBB3, más una friolera de componentes de terceros.
Gonium (Agosto 2008)
Es un Sistema Administrador de Contenido (CMS), programado en PHP5, basado en Zend Framework, respetando el patrón de diseño MVC. Más información en la web del proyecto.
Game Developers Toolkit (2007)
Proyecto sobre Kit de desarrollo de juegos en C++, multiplataforma y de código libre. Soporta Mallas, Huesos, Panoramas tipo cubo y esférico, Mallas animadas, Texturas, Luces, Movimientos, Sombras dinámicas, audio Openal/Alut, sistema de scripting con Lua, opcionalmente físicas usando Newton SDK. Gestión del proyecto en SourceForge, incluyendo mantenimiento del repositorio SVN, los paquetes publicados, la página web basada en wordpress, y el wiki basado en mediawiki.
Contribuciones:
- Arreglo de algunos bugs
- Actualización de librerías dependientes.
- Gestión del proyecto en Sourceforge
- Implementación de WordPress y Mediawiki
- Documentar código con Doxygen. Consiste en escribir los comentarios del código fuente en un formato especial, para posteriormente la documentación a partir de ellos, en distintos formatos, con esta herramienta.
- Compilación en Linux
- Empaquetado de binarios precompilados en formato .deb (debian, ubuntu).
Promolibros (2006)
Web de distribuidora Promolibros, sistema de gestión de contenido y catálogo de productos basado en Joomla!. No sólo la instalación del sistema, sino también instalación y configuración de otros componentes, adaptándolos a las necesidades de la distribuidora. Mantenimiento general, edición de los productos, y alguna que otra modificación manual (a nivel de código fuente) en algunos componentes y módulos.
Cambios a mano:
- Corrección manual de plugins de terceros para cumplir con XHTML 1.0 + CSS válido.
- Corrección manual de nuevos componentes/módulos/mambots instalados.
- Parches de seguridad de Joomla al día.
- Parches de seguridad de Virtuemart al día.
- com_security_images: Agrega imagenes captcha a los formularios.
- bot_TagJ: convierte las palabras clave de los artículos en «tags».
- bot_ socialbookmarkerbot: añade una botonera al pie para enviar los artículos a diversas webs como digg o del.icio.us
Receptor Judicial (2005-2006)
Receptor Judicial. Sistema de Información creado en PHP y MySQL. Con capacidad de administrar los datos de las causas, abogados asociados, acceso por nivel de usuario, emitir informes en formato PDF, y además permitir el acceso al abogado para ver los documentos asociados a las causas.
Actualización: Se a agregado un sistema CAPTCHA para fortalecer la seguridad del sitio.
Privados
Estos proyectos no están disponibles al aire o no puedo exhibirlos directamente:
«Cargador de archivos» y mensajes internos (octubre 2007 y parte del 2008)
(El cliente decidió no revelar su nombre). Almacén de archivos y mensajes internos, vía web, clasificados por categorías y con permisos grupales jerárquicos . Durante el desarrollo, solo conté con acceso limitado al código, por lo cual no dispongo de él completamente.
- Basado en Zend Framework (a petición del cliente).
- Permisos jerarquizados sobre los grupos, es decir, miembros de un grupo superior tienen control para subir archivos en su grupo o sub-grupos que dependan de él.
- Clasifica por «etiquetas» (tags) cada subida.
- «Slideshow». Las imágenes subidas pueden ser exhibidas en un «player»basado en ajax, usando el efecto «lightbox» para las transiciones.
- Las miniaturas de las images pueden ser ajustadas para incluir reflejos, sombras, y marcas de agua en las miniaturas de ser necesario.
- Permite bajar los archivos subidos, pero solo a los miembros de un grupo con permiso.
- Lógicamente, un administrador puede acceder a todos los grupos.
- Sistema de mensajería similar a un blog, incluyendo sistema de comentarios, pero con menos características que un blog (por ejemplo, no usa rss ni xmlrpc). Trabaja con los mismos permisos de jerarquías sobre los grupos.
- Soporta mensajes «globales», es decir, mensajes que ven todos los usuarios (solo pueden se posteados por administradores)
«Manejador de Tienda» (2006, retomado el 2008)
(Sin nombre, proyecto propio en desarrollo, pero funcional). Es un sistema de Información vía web, creado en PHP, JavaScript, Ajax y MySQL (sin ningún framework, todo 100% código propio).
Actualización (julio 2008): Retomo este proyecto, ahora será portado como módulo para Gonium. Lo vengo preparando desde antes que Gonium saliera al aire.
Características:
- Inicio de Sesión protegido por una imagen CAPTCHA.
- Maneja una lista de productos, nombre, código, precios, etc.
- Maneja la información de los clientes.
- Guarda información de ventas por pedido, es decir el valor total pagado por el pedido, los productos, y que cliente hizo la compra.
- Imprime cupones de cada pago de la venta
Características de la programación:
- Programado como web modular
- Escrito de tal forma que el diseño y la programación están completamente separados. Tratando de apegarse al modelo MVC.
- Ocupa el motor de plantillas Smarty.
- Ocupa la clase FPDF para generar los cupones.
Algunos formularios funcionan con Ajax.
Características diseñadas aun no implementadas 100%:
- Refundir 2 o más pedidos en una sola venta. Por ahora los formularios no lo permiten, pero si la base de datos.
- Editor de cupones. Tal vez sea mejor implementar alguna forma de integración con generadores de reportes.
Estos son algunos de los proyectos en que he participado, divididos en públicos y privados según tengo opción de mostrarlos y ordenados por el más reciente.
Públicos
CAIM USACH (Noviembre 2008)
La web del Centro de Alumnos de Ingeniería en Minas de la Usach, basada en Joomla 1.5 y PhpBB3, más una friolera de componentes de terceros.
Gonium (Agosto 2008)
Es un Sistema Administrador de Contenido (CMS), programado en PHP5, basado en Zend Framework, respetando el patrón de diseño MVC. Más información en la web del proyecto.
Game Developers Toolkit (2007)
Proyecto sobre Kit de desarrollo de juegos en C++, multiplataforma y de código libre. Soporta Mallas, Huesos, Panoramas tipo cubo y esférico, Mallas animadas, Texturas, Luces, Movimientos, Sombras dinámicas, audio Openal/Alut, sistema de scripting con Lua, opcionalmente físicas usando Newton SDK. Gestión del proyecto en SourceForge, incluyendo mantenimiento del repositorio SVN, los paquetes publicados, la página web basada en wordpress, y el wiki basado en mediawiki.
Contribuciones:
- Arreglo de algunos bugs
- Actualización de librerías dependientes.
- Gestión del proyecto en Sourceforge
- Implementación de WordPress y Mediawiki
- Documentar código con Doxygen. Consiste en escribir los comentarios del código fuente en un formato especial, para posteriormente la documentación a partir de ellos, en distintos formatos, con esta herramienta.
- Compilación en Linux
- Empaquetado de binarios precompilados en formato .deb (debian, ubuntu).
Promolibros (2006)
Web de distribuidora Promolibros, sistema de gestión de contenido y catálogo de productos basado en Joomla!. No sólo la instalación del sistema, sino también instalación y configuración de otros componentes, adaptándolos a las necesidades de la distribuidora. Mantenimiento general, edición de los productos, y alguna que otra modificación manual (a nivel de código fuente) en algunos componentes y módulos.
Cambios a mano:
- Corrección manual de plugins de terceros para cumplir con XHTML 1.0 + CSS válido.
- Corrección manual de nuevos componentes/módulos/mambots instalados.
- Parches de seguridad de Joomla al día.
- Parches de seguridad de Virtuemart al día.
- com_security_images: Agrega imagenes captcha a los formularios.
- bot_TagJ: convierte las palabras clave de los artículos en «tags».
- bot_ socialbookmarkerbot: añade una botonera al pie para enviar los artículos a diversas webs como digg o del.icio.us
Receptor Judicial (2005-2006)
Receptor Judicial. Sistema de Información creado en PHP y MySQL. Con capacidad de administrar los datos de las causas, abogados asociados, acceso por nivel de usuario, emitir informes en formato PDF, y además permitir el acceso al abogado para ver los documentos asociados a las causas.
Actualización: Se a agregado un sistema CAPTCHA para fortalecer la seguridad del sitio.
Privados
Estos proyectos no están disponibles al aire o no puedo exhibirlos directamente:
«Cargador de archivos» y mensajes internos (octubre 2007 y parte del 2008)
(El cliente decidió no revelar su nombre). Almacén de archivos y mensajes internos, vía web, clasificados por categorías y con permisos grupales jerárquicos . Durante el desarrollo, solo conté con acceso limitado al código, por lo cual no dispongo de él completamente.
- Basado en Zend Framework (a petición del cliente).
- Permisos jerarquizados sobre los grupos, es decir, miembros de un grupo superior tienen control para subir archivos en su grupo o sub-grupos que dependan de él.
- Clasifica por «etiquetas» (tags) cada subida.
- «Slideshow». Las imágenes subidas pueden ser exhibidas en un «player»basado en ajax, usando el efecto «lightbox» para las transiciones.
- Las miniaturas de las images pueden ser ajustadas para incluir reflejos, sombras, y marcas de agua en las miniaturas de ser necesario.
- Permite bajar los archivos subidos, pero solo a los miembros de un grupo con permiso.
- Lógicamente, un administrador puede acceder a todos los grupos.
- Sistema de mensajería similar a un blog, incluyendo sistema de comentarios, pero con menos características que un blog (por ejemplo, no usa rss ni xmlrpc). Trabaja con los mismos permisos de jerarquías sobre los grupos.
- Soporta mensajes «globales», es decir, mensajes que ven todos los usuarios (solo pueden se posteados por administradores)
«Manejador de Tienda» (2006, retomado el 2008)
(Sin nombre, proyecto propio en desarrollo, pero funcional). Es un sistema de Información vía web, creado en PHP, JavaScript, Ajax y MySQL (sin ningún framework, todo 100% código propio).
Actualización (julio 2008): Retomo este proyecto, ahora será portado como módulo para Gonium. Lo vengo preparando desde antes que Gonium saliera al aire.
Características:
- Inicio de Sesión protegido por una imagen CAPTCHA.
- Maneja una lista de productos, nombre, código, precios, etc.
- Maneja la información de los clientes.
- Guarda información de ventas por pedido, es decir el valor total pagado por el pedido, los productos, y que cliente hizo la compra.
- Imprime cupones de cada pago de la venta
Características de la programación:
- Programado como web modular
- Escrito de tal forma que el diseño y la programación están completamente separados. Tratando de apegarse al modelo MVC.
- Ocupa el motor de plantillas Smarty.
- Ocupa la clase FPDF para generar los cupones.Algunos formularios funcionan con Ajax.
Características diseñadas aun no implementadas 100%:
- Refundir 2 o más pedidos en una sola venta. Por ahora los formularios no lo permiten, pero si la base de datos.
- Editor de cupones. Tal vez sea mejor implementar alguna forma de integración con generadores de reportes.