Directorio Betabeers       5 meses | 613 commits | 2342 redbulls@miquelcamps
Eduardo Gulias¡Gracias por los 20 commits!
Estructura- Pajas mentales con symfony- Entorno de trabajo, Bundles, Bloques, integración bootstrap.io- Chapuzas- Métricas...
¿Por qué symfony?- Lo conocí en la php conference barcelona- No tenía experiencia con frameworks- Proyectos ya lo usan en ...
Lo que me gusta1- Actualización de tablasapp/console doctrine:schema:update --force2- Generadorapp/console generate:bundle...
No me gusta1- Tamaño2- Error al editar un controlador
php app/console cache:clear
Entorno de trabajolocal --> github --> producción
Entorno de trabajo1- local (mac + mamp + sublimetext2 + redbull)2- commit github (github client mac)http://github.com/miqu...
BundlesDe terceros  Pagerfanta de Pablo Díez @pablodip  https://github.com/whiteoctober/PagerfantaPropios  Anuncios  User ...
Bloques Layout/AnunciosBundle/Resources/views/layout.html.twig<html><head><title>{% block title %}{% endblock %} - {{siten...
Bloques sección/AnunciosBundle/Resources/views/Post/index.html.twig{% extends "ApplicationAnunciosBundle::layout.html.twig...
Integración bootstrap.ioEstáticos/web/ -> ficherosTemplate layout/AnunciosBundle/Resources/views/layout.html.twigTemplate ...
Integrar bootstrap.io en formularios$form = $this->createForm(new LoginType(), $entity);$form[pass]->addError( new Symfony...
Integrar bootstrap.io en formularios{% form_theme form ApplicationAnunciosBundle:Form:fields.html.twig %}<form class="form...
Chapuzas - facebook connectNo he podido hacer funcionar FOS (friends of symfony)1- login facebook fbloginAction()/src/Appl...
Chapuzas - URLs bonitas/post/86/show --> /post/esto-es-una-prueba-9/urls en twig{{ path(post_show, { id: entity.id, slug: ...
MétricasContabilizar visitas$session = $this->getRequest()->getSession();$session_id = $session->get(id);if( $session_id !...
GamificaciónCaptar nuevos usuarios
Gamificación
Gamificación
GamificaciónObligar el usuario a rellenar perfil
Dashboard
Backoffice anuncios
Backoffice usuarios
Cosas por hacer...- Optimizar queries (likes) y cacheo- Internacionalización- Hacer autoescalable mover a phpfog- Mejorar ...
Megacracks de symfony@egulias@raulfraile@nacmartin@ricardclau@Osukaru80@moisesgallego
¡Gracias!Posts de como empezar:http://miquelcamps.com/symfony/Repositorio betabeers:http://github.com/miquelcamps/director...
Directorio betabeers - symfony madrid
Upcoming SlideShare
Loading in …5
×

Directorio betabeers - symfony madrid

550 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
550
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Directorio betabeers - symfony madrid

  1. 1. Directorio Betabeers 5 meses | 613 commits | 2342 redbulls@miquelcamps
  2. 2. Eduardo Gulias¡Gracias por los 20 commits!
  3. 3. Estructura- Pajas mentales con symfony- Entorno de trabajo, Bundles, Bloques, integración bootstrap.io- Chapuzas- Métricas- Gamificación- Capturas backoffice- Cosas por hacer
  4. 4. ¿Por qué symfony?- Lo conocí en la php conference barcelona- No tenía experiencia con frameworks- Proyectos ya lo usan en producción producción (ulabox,facultia)- Comunidad- Documentación
  5. 5. Lo que me gusta1- Actualización de tablasapp/console doctrine:schema:update --force2- Generadorapp/console generate:bundle3- Estructura de ficheros4- Twig y los bloques5- Comunidad
  6. 6. No me gusta1- Tamaño2- Error al editar un controlador
  7. 7. php app/console cache:clear
  8. 8. Entorno de trabajolocal --> github --> producción
  9. 9. Entorno de trabajo1- local (mac + mamp + sublimetext2 + redbull)2- commit github (github client mac)http://github.com/miquelcamps/directoriopro3- pull servidor dedicado kemsirve.es (linux ubuntu)Comando mágicogit pull;rm -rf app/cache/prod/;mkdir app/cache/prod;chmod 777app/cache/prod
  10. 10. BundlesDe terceros Pagerfanta de Pablo Díez @pablodip https://github.com/whiteoctober/PagerfantaPropios Anuncios User Event Place Test Api City Project
  11. 11. Bloques Layout/AnunciosBundle/Resources/views/layout.html.twig<html><head><title>{% block title %}{% endblock %} - {{sitename}}</title>{% if canonical_url is defined %}<link rel="canonical" href="{{ canonical_url }}"/>{% endif%}</head><body><!--header-->{% block content %}{% endblock %}{% block sidebar %}{% endblock %}<!--footer-->{% block load_src %}{% endblock %}{% block script_load %}{% endblock %}</body></html>
  12. 12. Bloques sección/AnunciosBundle/Resources/views/Post/index.html.twig{% extends "ApplicationAnunciosBundle::layout.html.twig" %}{% block title "Bolsa de empleo 2.0" %}{% block sidebar %}bla bla{% endblock %}{% block content %}bla bla{% endblock %}{% block load_src %}bla bla{% endblock %}{% block script_load %}bla bla{% endblock %}
  13. 13. Integración bootstrap.ioEstáticos/web/ -> ficherosTemplate layout/AnunciosBundle/Resources/views/layout.html.twigTemplate form/AnunciosBundle/Resources/views/Form/fields.html.twig/AnunciosBundle/Resources/views/Post/new.html.twig
  14. 14. Integrar bootstrap.io en formularios$form = $this->createForm(new LoginType(), $entity);$form[pass]->addError( new SymfonyFormFormError( "La contraseña no es correcta" ));
  15. 15. Integrar bootstrap.io en formularios{% form_theme form ApplicationAnunciosBundle:Form:fields.html.twig %}<form class="form-horizontal" action="x" method="post" > {{ form_row(form.email, { label: Email }) }} <div class="form-actions"> <button type="submit" class="btn btn-primary">Crear cuenta</button> </div> {{ form_row(form._token) }}</form>
  16. 16. Chapuzas - facebook connectNo he podido hacer funcionar FOS (friends of symfony)1- login facebook fbloginAction()/src/Application/UserBundle/2- se require del ejemplo de facebook/vendor/facebook/example.phphttps://github.com/facebook/php-sdk
  17. 17. Chapuzas - URLs bonitas/post/86/show --> /post/esto-es-una-prueba-9/urls en twig{{ path(post_show, { id: entity.id, slug: entity.slug }) }}controller action 1@Route("/{id}/show", name="post_show2")$this->redirect($this->generateUrl(post_show, array(id => $entity->getID(),slug => $entity->getSlug() )),301);controller action 2@Route("/{slug}-{id}/", requirements={"slug" = "[a-z0-9-]+", "id" = "^d+$"},name="post_show")layout{% if canonical_url is defined %}<link rel="canonical" href="{{ canonical_url }}"/>{% endif %}
  18. 18. MétricasContabilizar visitas$session = $this->getRequest()->getSession();$session_id = $session->get(id);if( $session_id != $entity->getUserId() ){$entity->setVisits( $entity->getVisits() + 1 );$em->persist($entity);$em->flush();}Geolocalización geonames.org (country_id, city_id)Dashboard (totales generales)Google Analytics analizar que busca el usuariohttps://support.google.com/analytics/bin/answer.py?hl=es&answer=1012264
  19. 19. GamificaciónCaptar nuevos usuarios
  20. 20. Gamificación
  21. 21. Gamificación
  22. 22. GamificaciónObligar el usuario a rellenar perfil
  23. 23. Dashboard
  24. 24. Backoffice anuncios
  25. 25. Backoffice usuarios
  26. 26. Cosas por hacer...- Optimizar queries (likes) y cacheo- Internacionalización- Hacer autoescalable mover a phpfog- Mejorar seo (sitemaps, urls bonitas)
  27. 27. Megacracks de symfony@egulias@raulfraile@nacmartin@ricardclau@Osukaru80@moisesgallego
  28. 28. ¡Gracias!Posts de como empezar:http://miquelcamps.com/symfony/Repositorio betabeers:http://github.com/miquelcamps/directorioproTwitter@miquelcamps

×