Crear una web para organizar y compartir itinerarios de viaje

Si no tenéis ni idea de que va esto de los retos, básicamente es que empiezo una idea el lunes y la termino el domingo, yo me encargo de llevar la idea a algo real que la gente pueda usar y al terminar cuento todo el proceso en este blog.

Si os interesa el tema podéis ver mi anterior reto que era hacer una aplicación de android monetizada con admob.

Reto 2

  • Hacer una web dónde la gente pueda organizar y compartir itinerarios de viaje.
  • Los itinerarios se podrán crear por una o varias personas.
  • En los itinerarios se podrán contabilizar los gatos para saber lo que cuesta el viaje.
  • También estaría bien que puedas añadir notas privadas (por ejemplo número de habitación del hotel), pero que estas no aparezcan públicamente.

Suscríbete a mi canal de youtube

Al final del reto compartiré aquí todo el proceso y lo aprendido, podéis seguir el progreso de mi reto en twitter con el hashtag #cabeseo2.

Sobre la idea

Como he comentado la idea realmente se remonta en 2011, hice el vídeo, mockups, programé un poco, pero nunca lo llegué a terminar, de hecho he tenido que programar todo de cero y lo único que he aprovechado ha sido el dominio y el vídeo promocional.

¿Qué permite myprofly?

  • Planifica el día a día de tu viaje
  • Organiza el viaje con varias personas
  • Controla los gastos de tu viaje
  • Descarga tu viaje en PDF para tenerlo offline
  • Comparte el viaje con tus amigos y familiares
  • Copia el viaje de otra persona y modificalo a tu gusto

Que mejor que yo mismo para enseñar como funciona, aquí os dejo algunos de mis viajes que he hecho por el mundo.

Reto superado

myprofly.com

A pesar que he cumplido con el reto, he querido extender unos días más para añadir funcionalidades extra (sugerencias de cosas para ver, añadir viajes a favoritos, notas, mapa con tus países visitados).

Vídeo promocional

Para el vídeo conté con la ayuda de Clara Saiz, aquí podéis ver su twitter y linkedin.

Las ilustraciones y la locución la hice yo mismo (lo siento, en ese momento no sabía que "coger" en otros países significa follar), aquí tenéis fotos del making of.

APIs usadas

Frontend

Backend

Tablas de la base de datos

  • Categories
  • Trips
  • Trip_activities
  • Trip_notes
  • Users
  • User_countries
  • User_favorites
  • User_friends
  • User_trips

¿Por qué elegí el framework PHP Codeigniter?

  • Lo estoy usando actualmente en la empresa donde trabajo y quería aprender más.
  • Me parece muy bien estructurado, aunque no tengas ni idea encuentras las cosas fácilmente.
  • Sigue el patrón MVC (Modelo + Vista + Controlador).
  • Es más ligero comparado con otros frameworks PHP de moda como Symfony o Laravel, tengo la web en un VPS básico no un servidor dedicado.

Diario de idea a prototipo

Día 1

  • Crear encuesta y landing para capturar feedback y emails. (9 personas respondieron la encuesta).
  • Diseñar base de datos.
  • Registrar dominio myprofly.com en dondominio.com.
  • Landing bienvenida.

Día 2

  • Crear base de datos MySQL.
  • Elegir framework PHP, al final opte por Codeigniter.
  • Definir estructura URLs
  • Registro, login y logout de usuario.

Día 3

  • Añadir, editar, borrar viajes.

Día 4

  • Añadir, editar, borrar actividades de un viaje.
  • Ficha con el itinerario de viaje.
  • Copiar viaje y actividades
  • Marcador para el navegador para añadir webs que te puedan resultar útiles para tus viajes.
  • Perfil de usuario.

Día 5

  • Pestaña para compartir el viaje.
  • Pestaña para ver el mapa del trayecto del viaje.

Día 6

  • Editar organizadores de un viaje.
  • Seguir y dejar de seguir usuarios.
  • Seleccionar foto del viaje usando la API de flickr.
  • Integrando el estilo de android material.
  • Exportar viaje en PDF.
  • Sección qué es myprofly.

Día 7

  • Corrigiendo fallos en la versión móvil de la web.
  • Viajes destacados en la home.
  • Sección amigos.
  • Añadiendo código de google analytics.
  • Empezando las sugerencia de viajes, la API de foursquare es lenta si quieres mostrar fotos de los sitios.

--- Fin del reto ---

Día 8

  • Sugerencias de viaje usando la API de Google Places.

Día 9

  • En las sugerencias puedes ver conciertos de Eventful.

Día 10

  • Mi mapa con los países visitados.

Día 11

  • Añadir, editar, eliminar notas.
  • Añadir las notas que hayas introducido en tu viaje en el PDF que puedes exportar.
  • Seguir amigos por email.
  • Cambiando la estructura de la sección qué es myprofly.

Día 12

  • Arreglar bugs.
  • Añadir formulario de ideas de Userreport.
  • Simplificar formularios, se han divido los campos en dos grupos obligatorios y opcionales.

Futuro

Creo en el proyecto porqué es algo que en mis viajes hacía de forma muy espartana con papel y boli.

Ahora que hay un prototipo viene lo difícil, empezar a captar usuarios para que organicen sus viajes.

Mi idea es poder monetizar con afiliados sean vuelos, hoteles, conciertos, seguros, alquiler de coche, publicidad con agencias de viaje, pero no lo puedo hacer ahora ya que por falta de contenido me rechazarían los programas de afiliado.

Por otra parte estoy esperando a que SkyScanner me de acceso a su API para que la gente pueda buscar vuelos en mi plataforma y no poner un cutre enlace a su web.