Se busca un desarrollador(a) PHP para trabajar en una plataforma operada por SocialEngine (SE). En el desarrollo de nuevos plugins (módulos), corrección y adaptación de plugin existentes, para personalizar y dar funcionalidad específica según el requerimiento del proyecto.
Dado que se no tienen tanta popularidad como wp, drupal, etc, es importante que la persona interesada investigue un poco sobre este recurso, visitando la página oficina de socialengina. Aquí una breve descripción: "se es una plataforma compuesta de un cms con una estructura y funcionalidades de una red social, al cual se pueden instalar plugins y themes para dar un entorno y tema específico".
Localmente se cuenta con la plataforma con plugins instalados de una empresa que SE tiene en su lista de "expertos" , sin embargo, se está experimentando mucho inconvenientes, ya que aunque parecen tener buen propósito, algunos tienen muchos bugs y requieren muchas personalización que requieren para adaptarse a las necesidades requeridas.
Para solucionar este problema, el objetivo es buscar desarrolladores(ras) para crear dichos plugins.
Para ello, se busca profesional con un amplio conocimiento de PHP, Javascript, css, html, ajax, entre otras para realizar este trabajo sin complicaciones, se provee documentación de como y que se requiere para la creación de plugins.
El profesional debe ser responsable, con ética profesional y muchas ganas de trabajar. Ya que se busca crear una relación a largo plazo, entonces la puntualidad y el compromiso se valoran y aprecian mucho.
Recursos Disponibles en este momento
- SocialEngine provee documentación de como crear propios plugins (módulos)
- Sitio montado para mostrar el despliegue de SocialEngine en 35.170.162.200/SE
Dinámica para la selección de candidatos
Para asegurar que los plugins cumplan con los requerimientos tanto del proyecto como del propio sistema core de SocialEngine, se requiere que la persona interesada cree un plugin básico (se pagará un importe simbólico, el objetivo es asegurar que el profesional ha investigado y comprende los requerimientos que deben tener los plugins para que funcionen sin problema, para evitar inconvenientes una vez asignados los plugins reales a desarrollar)
Listado de plugins de prueba a desarrollar:
Escenario, El proyecto es una plataforma de multi-servicios con un entorno de red social. Es decir, tendrá directorio comercial, reseñas, recomendaciones, etc, etc.
- TEMA: Crear un tema innovador, minimalista, responsivo, al menos que cambie el feel & look de la página principal, página de acceso, página de crear cuenta y páginas globales, como de enlaces del footer.
- ENCUESTA: Este plugin debe permitir que los usuarios logueados de la plataforma puedan realizar una encuesta para determinar si es candidato para crear una página comercial. Es decir, se debe en el homepage del usuario debe haber un botón (widget) para iniciar la encuesta, al presionar, se debe redireccionar a la página de la encuesta para completar un formulario de 3 preguntas (1-2-3), si estas tres preguntas son válidas, se le muestra un mensaje atractivo con el resultado, si cumple o no cumple.
Dinámica una vez con los desarrolladores seleccionados:
- La creación de temas y plugins se van a realizar por proyectos individuales.
- Utilizaremos Atlassian con herramienta de trabajo y comunicación
- Utilizaremos Gitlab para el control de versiones
- Las entregas deben ser en archivo .zip con su código y documentación correspondiente.
- El código debe estar limpio, libre de bugs y cumplir con buena practicas, evitando el "happy path"
Si estás interesado(a) en esta oportunidad, primero se invita tomar un tiempo para explorar la página oficial de SocialEngine - versión PHP para comprender mejor cómo funciona, y después ponerse en contacto aquí.
----------------------------------SocialEngine: Developer Guide -----------------------------------
Structure
SocialEngine5 is based on the Zend Framework, and is built in an MVC (Model-View-Controller) structure. It is also built with modularity in mind.
The directory structure is as follows:
/application/
This directory contains the majority of SocialEngine files.
/Application/languages/
See the section below on Languages
/application/libraries/
Third party PHP libraries are typically contained in here. For example, Zend Framework and CSS Scaffold both live in this directory, as does our extensions to Zend Framework (called Engine).
/Application/modules/
See the section below on Plugins
/application/settings/
These files contain configurations that typically will not be modified after your initial installation. Things like your database username/password, cache settings, mail settings, etc are stored in here.
/Application/themes/
See the section below on Themes
/development/
Various tools that we have used during development are contained in this directory.
You can mostly ignore this hodge-podge of files.
/Externals/
Most of our images, javascript libraries, and flash applications that are used globally are retained in this directory. These should contain trusted (i.e.
Not user-uploaded) content.
/Public/
User-uploaded content is always contained in here. This directory should be both web-accessible and writable by the web server (chmod 777 recursively).
/Temporary/
Various temporary files, such as cache files, logs, session files, etc are stored in this directory. It should not be web-accessible, but must be writable by the web server (chmod 777 recursively). We provide an ".htaccess" file to block access to this directory from the web browser, but if you are using a web server other than Apache, we recommend you configure the web server accordingly to prevent view access.
Plugins
/application/modules/*
Most of SocialEngine's functionality resides here. Each module contains within it the MVC structure, where the "Model", "views", and "controllers" directories correspond to the MVC paths. Please see our included skeleton module "HelloWorld" for more information on this.
Languages
/application/languages/*
Each language gets its own two-letter (or 5-character with localization support) directory in this sub-directory. The language files are in multiple csv files, though they are concatenated into one large csv file (in no particular order, except that "
custom.csv" is the last). One important point to keep in mind is that duplicate keys override previously defined keys.
So, for example, if you have a key "Turtles are fast!" in both
core.csv and
custom.csv, since
custom.csv is loaded last, the value set to "Turtles run fast!" in
custom.csv will be the one used.
The CSV files have several requirements:
Each line has at minimum two columns, and can contain more for different pluralizations.
Each column is separated using a semi-colon, and is enclosed in "double-quotes" if it contains any sort of white-space (we recommend wrapping your values in quotes in all cases just to be safe).
The first column is always going to be the key.
This is the English word or phrase that exists in the view script, controller, or other portion of the code.
The second column is always going to be the default translation of the key.
If there is an subsequent columns after the second column, it will be for various pluralizations of the key.
Untranslated variables can be contained within a translation key and translations. Variable replacement is done using the PHP function sprintf , and so the same rules apply. When only one variable is being injected into a translation, typically "%s" is the placeholder for that variable.
If multiple variables are being injected, you can use "%1$s", "%2$s", "%3$s" etc to put the variables in their proper positions for your translation.
If your translation has double-quotes in it, you must use two double-quotes. So as an example, the sentence 'He said "wow".'
Would appear in a CSV files as:
"He said ""wow"".";"He said ""wow""."
Themes
/application/themes/*
We utilize a framework called "CSS Scaffold" which makes editing your community's theme a simple process. Each theme is stored in its own directory within /applications/themes/. A default theme is automatically loaded when you first install SocialEngine.
Each theme contains two files:
constants.css and
theme.css.
At the top of
constants.css, you'll find a series of global CSS settings (called "constants"). You can edit these to adjust the colors, fonts, and other styles throughout your entire community.
The other file,
theme.css, contains more specific styles that are used throughout your community. Many of these styles inherit values from
constants.css. If you want to override any of the default styles on your community, you can edit them here.
If they aren't present in
theme.css (and are being loaded from outside the theme itself), you can override them by adding new styles to the bottom of
theme.css.
¡Saludos!
Contexto general del proyecto
Debe tener un amplio conocimiento de PHP, Rest API, Javascripts, Ajax, CSS, Html5, whmcs, aws y más.
Html / css
debe proporcionar cambios en el sitio usando html / css de acuerdo a las especificaciones indicadas para que el sitio sea competitivo y actualizado.
Desarrollo PHP
El desarrollador debe ayudar a corregir los errores o problemas encontrados, también debe crear trabajos personalizados o implementaciones de nuevas funciones.
Pruebas
Debe realizar pruebas para encontrar y reconocer los errores en el sitio y proporcionar un informe breve de los errores encontrados para proceder a corregirlos.
WHMCS
El desarrollador debe trabajar con WHMCS ya que se usa para ventas, facturación y soporte de tickets.
AWS
El desarrollador debe trabajar con AWS
Software JIRA
El desarrollador debe trabajar con Jira Software y Confluence
SEO
Debe realizar un análisis completo de todos los factores que determinan la visibilidad en la optimización de motores de búsqueda (seo), ayudando a elevar el ranking del sitio web utilizando auditoría de seo dentro y fuera de la página, como enlaces rotos, meta descripciones y títulos duplicados, validación html, estadísticas del sitio web y más.
Documentación
El desarrollador debe proporcionar documentación completa de cualquier intervención.
Busco una desarrollador muy proactivo, que pueda orientarme completamente con respecto a la implementación de cualquier característica(s) que pueda enriquecer el sitio.
No hace falta decir que el desarrollador debe trabajar con buenas prácticas, manteniendo el código limpio y libre de errores.
Busco a alguien a largo plazo sí el desarrollador y yo coincidimos con la calidad, las buenas prácticas, la honestidad, la realidad y la responsabilidad.
Duración del proyecto 3 a 6 meses