Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tecnología a usar #2

Open
peterlozano opened this issue Mar 5, 2015 · 16 comments
Open

Tecnología a usar #2

peterlozano opened this issue Mar 5, 2015 · 16 comments

Comments

@peterlozano
Copy link
Member

En este ticket discutiremos (peligro flamewar!!) las posibles opciones para implementar este proyecto.

@peterlozano
Copy link
Member Author

Empezaré tirando pa casita y decir que un proyecto así se desarrolla fácilmente en Drupal con prácticamente cero programación para la funcionalidad básica que queremos.

Pero me gustaría escuchar otras opciones y ver como lo plantearíais cada uno de vosotros.

@peterlozano
Copy link
Member Author

Otra opción un tanto alocada, pero muy hipster, es crearlo en html/js estático y alojarlo gratis en github pages. Los datos podrían almacenarse en un json, y por supuesto para añadir tu empresa deberías hacer un pull request ;)

@JoseTomasTocino
Copy link

+1 a lo que comentas del html estático. Así ni tendríamos que buscar un alojamiento.

@jamontes79
Copy link

Otra opción interesante sería usar un wordpress con este plugin que es gratuito y está muy completo: https://wordpress.org/plugins/business-directory-plugin/

@3oheme
Copy link

3oheme commented Mar 5, 2015

Para hacerlo hipster total te creas un microservice rest* que solo se preocupe del contenido, y luego otro microservice para mostrarlo, usando react o algún framework raro (pero que sea JS)

@peterlozano
Copy link
Member Author

@3oheme sería lo suyo, así aparte de la web cualquiera se podría currar una app o algo.

@JoseTomasTocino
Copy link

Creo que dependerá de la funcionalidad que se busque. Si nos interesa, por ejemplo, poder filtrar las empresas que utilicen PHP, pues entonces sí que hará falta algo de fuerza en el backend... O no, simplemente descargar siempre el JSON completo y hacer todo el filtrado en cliente. Yo lo digo por ahorrarnos infraestructura vamos.

@jmanuelrosa
Copy link

Otra alternativa a Drupal o Wordpress, es Jekyll, que usa las Github Pages 😄 Si no, también tenemos Ghost.

Sobre el uso de REst, es como dice @JoseTomasTocino, depende del grueso que queramos darle. A nivel de front, Angular, ReactJS con Flux o Backbone/Marionette son muy buenas opciones.

Podéis contar con mi hacha ! 😝

@JoseTomasTocino
Copy link

Yo uso Ghost CMS y no vendría nada bien para este proyecto. Está muy verde para cualquier cosa que no sea un blog pelao y mondao. Pa eso usamos WordPress y ACF.

@cronotrunks
Copy link
Member

Yo fasearía, porque si no, me veo que pasa el tiempo y no tenemos nada :-)

  1. Versión html estático a la que ir añadiendo contenido vía repositorio git + pull requests. Se puede usar github pages sin ningún problema y esto sí que es rápido y sencillo de montar.
  2. Montar una API Rest para consumir los datos desde donde queramos y miniaplicación JS para la web. La solución JS la puede decidir directamente quien/es vayan/mos a trabajar sobre el código (creo que en este caso la tecnología a usar carece de importancia y debería ser aquella con la que más cómodo se sienta quien vaya a currar sobre el terreno).

@peterlozano
Copy link
Member Author

Resumiendo un poco lo que hemos ya dicho aquí:

  • Por un lado está la tecnología frontend a usar, creo que estamos de acuerdo en que sería interesante usar algún framework js que haga la página muy interactiva a la hora de buscar empresas.
  • Los datos se traerían por json de alguna parte y es ahí donde hay dos opciones con sus pros y sus cons.

Opciones backend:
A) NO BACKEND. Almacenar todos los datos en un json, que deba ser editado a mano (en principio) y que la totalidad de los datos se mande a la aplicación al inicializarse. Ventajas 1: No necesita hosting, la aplicación se puede hospedar de manera gratuita en github pages ya que todo el contenido es estático. Ventaja 2: Ya que todos los datos se mandan a la aplicación de golpe, los temas de filtrado van a ser muy rápidos ya que se realiza todo en el navegador. Inconveniente 1: Poca flexibilidad de cara al futuro, por ejemplo si se acaban teniendo demasiados datos, ya que hay quemandarlos todos de golpe al navegador, y poca flexibilidad para que otras personas creen otras aplicaciones, como una app movil.

B) Sí Backend. En este caso tendríamos una api que permitiría recuperar los datos y hacer filtrados. El frontend haría peticiones a esta api. Ventaja 1: Carga inicial de la aplicación más rápida. Permite mayor flexibilidad a largo plazo y crear terceras aplicaciones que usen los datos. Inconveniente 1: Hace falta un hosting para la api.

Aparte de todo esto, luego tendríamos que idear la forma en que cualquier usuario novel pueda añadir su empresa al directorio. En principio nosotros podemos editar el json a mano o lo que sea, pero lo suyo es que en un futuro no muy lejano haya algún tipo de formulario o backend donde se gestionen.

@peterlozano
Copy link
Member Author

Viendo los comentarios hasta ahora aquí y en Facebook, parece que la versión estática+js está cogiendo fuerza. Los que vamos a colaborar en un principio en esto dominamos mas o menos bien la técnica, así que por mi no hay problema.

@peterlozano
Copy link
Member Author

Ya que vamos a usar el wiki para introducir los datos, y los wikis de github son también repositorios con ficheros en markdown.. se podría tener un script que hiciera pull regularmente del wiki, parsee (o lo intente) el markdown con la lista de empresas y genere el json para la aplicación.

@JoseTomasTocino
Copy link

He hecho un pequeño script en Python que parsea el markdown del wiki y lo formatea en JSON, lo tengo montado ahora mismo con Flask en Heroku (https://rocky-refuge-1505.herokuapp.com/). El código está en https://github.com/JoseTomasTocino/directorio-empresas-tic/blob/master/directorio_empresas.py No he hecho pull request porque aún no está claro cómo se va a hacer la cosa, así que no tiene sentido meter código en el repo principal.

Es un poco chungui, porque en cada petición se pide el markdown y se parsea, y lo ideal tener algo rollo Celery que haga el parseo periódicamente, pero bueno es un comienzo.

@peterlozano
Copy link
Member Author

Como mola :)

@fjtorres
Copy link

Yo hace tiempo estaba desarrollando una aplicación con Scala para esto mismo, fue durante el curso de Raul sobre Scala. No es mucho pero bueno lo mismo algo puede ser de utilidad.

Repositorio: https://github.com/fjtorres/software-companies-list

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants