Created
April 2, 2012 23:17
-
-
Save frnz/2287902 to your computer and use it in GitHub Desktop.
Tarea
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Un url shortener. Tipo Bitly. | |
----------------------------- | |
HTML | |
---- | |
Me meto al sitio y tengo un formulario con un campo, que solo tiene un campo, la url. | |
Pongo una url, le doy submit y por medio de AJAX (sin reload) se me muestra la url corta. | |
Obviamente cuando voy a esa url corta el sitio me redirecciona a la url original. | |
API JS | |
------ | |
También una API en javascript, que si por ejemplo hago con Jquery: | |
$.post("/urls", {url: "http://my-url.com"}) | |
* TIP: Pensar la url a la que se manda en REST. * | |
Obtengo el siguiente resultado: | |
{ url: "http://my-url.com", short_url: "la_url_corta" } # los nombres de los son para ejemplo, elija el que le parezca mejor | |
Además, si hago por medio de jquery: | |
$.get("/la_url_corta") | |
Obtengo un JSON tipo: | |
{ url: "http://my-url.com", short_url: "la_url_corta" } | |
PUNTOS EXTRA: (plugin de jQuery) | |
-------------------------------- | |
Hacer un plugin de jquery para poder hacer: | |
$.compressUrl("/my url", callback) # para "comprimir urls", el nombre de la funcion lo dejo a discrecion | |
$.expandUrl("url_corta", callback) # igual, el nombre a discrecion | |
DEPLOY | |
------ | |
La aplicación tiene que estar en heroku. | |
Notas, tips y recomendaciones: | |
------------------------------ | |
Sobre REST en Rails: http://guides.rubyonrails.org/routing.html | |
Cómo hacer que un controlador maneje JS y HTML al mismo tiempo en Rails: http://davidwparker.com/2010/03/09/api-in-rails-respond-to-and-respond-with/ | |
Respuestas AJAX fáciles en Rails: http://railscasts.com/episodes/294-playing-with-pjax | |
Deploy to heroku: http://railsapps.github.com/rails-heroku-tutorial.html |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment