CRM para mi – DWH CRM

Para entrenarme en Symfony2 y Doctrine, voy a hacer un CRM básico para ayudarme a controlar los contactos que hago mientras busco trabajo. Ahora tengo la información un varios archivos de texto, ordenados en carpetas, y, aparte de que necesito algo con que practicar el Symfony, veo que este método no servirá para muchos más contactos.

Objetivos

Con este labor quiero conseguir conocimientos de Symfony2 y principalmente Doctrine, y de paso un sistema útil de CRM para mis contactos. Además tendré otro GitHub repository de ejemplo.

Requisitos del CRM

Cada vez que veo un puesto o compañía y le mando un email o curriculum, quiero poder grabar los datos principales, e.g.

  • Empresa
  • Localidad
  • Persona de contacto
  • Descripción
  • Donde lo encontré
  • Fecha

Luego habrá una serie de eventos, e.g. ellos me contestan, yo a ellos, voy a una entrevista, etc. Necesito grabar ese información también:

  • Fecha
  • Descripción del evento

Entonces el sistema tiene que facilitar el acceso a esos datos con listas y búsquedas:

  • Lista de contactos
    • Lista de eventos por contacto
  • Búsqueda de contacto.

El repository vacío esta aquí: https://github.com/danksearle/DWH-CRM

 

Twitter API 1.1 … fácil, no?

Pensaba que para practicar un poco utilizaría el Twitter API y pondría una lista de tweets en una página. No puede ser muy complicado, no? Pues ….

  1. Crear la application de Twitter … hecho.
  2. Leer un poco y concluir que sólo necesito Application only access.
  3. O “SSL absolutely required”! Necesito Connecting to Twitter API using SSL

… total, es un poco complicado. Instalé Go para crear un archivo pem de root certificates … Go parece interesante pero tengo otras cosas que aprender ahora. Hice un buen intento de construirlo yo, pero tenía problemas con que el servicio no me podiá “authenticate” y luego iba bien pero no me daba ningún tweet. Intenté con file_get_contents and luego con cURL.

Entonces leí esto en https://dev.twitter.com/overview/api/ssl 

When communicating with Twitter, it’s always best to use well-tested and predefined libraries to communicate with the API.

Y encontré TwitterOAuth. No es un Bundle de Symfony2, pero se puede instalar con composer. Lo instalas y aparece un tu carpeta vendor. Para utilizarlo en un service hay que poner esto al comienzo del código:

use \Abraham\TwitterOAuth\TwitterOAuth;

y luego algo asi para coger unos tweets:

// pon lo que te interesa claro :)
$query_array = array(
    'q' => 'empleo barcelona php',
    'count' => 30
);

$twitter = new TwitterOAuth(
    $this->twitter_api_key,
    $this->twitter_api_secret,
    $this->twitter_access_token,
    $this->twitter_access_token_secret
);

return($twitter->get("search/tweets", $query_array));

Y ahora tengo unos cuanto tweets con que jugar.

 

 

Symfony y Foundation

Al parecer muchos programadores en Barcelona utilizan Symfony y Foundation. Yo vengo de CodeIgniter, WordPress y Bootstrap, o más bien HTML casero. Para aprender Symfony y Foundation he empezado a rehacer mi sitio web (ya tocaba…). De momento va bien, ya superada la primera fase de instalar Composer y entender un poco como esta organizado.

Hice una lista corta de los comandos más útiles, para copiar y pegar:

php symfony.phar new myproject
php app/console assets:install web
php app/console cache:clear --env=prod
php app/console assetic:dump --env=prod --no-debug