Necesitamos la vista de resultados para nuestro sitio de publicaciones desarrollado en
ASP.Net MVC 4.
Habilidades requeridas del profesional :IT & Programación .net asp json jquery mvc knockoutjs javascript ajax
los requerimientos de la funcionalidad son:
vista de resultados:
en esta vista se muestran las publicaciones de acuerdo al criterio de búsqueda ingresado en la pantalla principal.
Los resultados se deben poder filtrar y ordenar, mediante opciones estilo mercadolibre. La carga de los resultados debe ser realizado con Knockoutjs.
El filtrado como el ordenamiento se puede realizar mediante URL y redirección como se muestra a continuación:
En la pantalla principal selecciona alquiler y lo redirecciona a:
www.Inmueblesprop.Com/propiedades-inmuebles-alquiler (muestra todos las propiedades e inmuebles en alquiler)
En la vista de resultados aplica el filtro Casa, y lo redirecciona a:
www.I
nmueblesprop.Com/propiedades-inmuebles-casa-alquiler (muestra todas las casas en alquiler)
Qué te damos?
Una base de datos con publicaciones cargadas.
Un proyecto base, con los frameworks utilizados (jquery, bootstrap, Knockoutjs, etc.)
En el proyecto también tienes una capa de acceso a datos. Solo la parte de READ, ya que necesitamos mostrar los datos de resultados, y de aviso.
Imágenes de posibles layouts para las pantallas, acá esperamos que nos asesoren con respecto a la mejor disposición.
La definición del comportamiento de cada pantalla
La definición de la información que se debe mostrar en cada pantalla.
Capturas de pantalla del sistema para usar de guía en la disposición y proporciones del layout.
Pantalla desde donde se realiza la búsqueda.
Qué esperamos?
Pantalla de Resultados
Controller + Lógica que realice la carga de los resultados según los criterios de búsqueda. La capa de acceso a datos está implementada con dapper + dapperextensions
View de la página en cuestión
Binding de los elementos con kojs
Comportamiento realizado en jquery encapsulado en custom bindings de kojs
La pantalla debe tener una barra lateral (estilo mercadolibre) para filtrar los resultados, con cada filtro aplicado se realiza un nuevo request. En este punto nos gustaría que nos asesores si es conveniente un nuevo request o mejor cargar los datos por Ajax.
La carga de los resultados debe ser manejada con paginado para optimizar la transferencia de datos entre cada request
Una barra vertical de ordenamiento (estilo mercadolibre), cuando aplica un nuevo ordenamiento realiza un nuevo request. En este punto al igual que con los filtros nos gustaría que nos asesores si es conveniente un nuevo request o en caso de ser más conveniente cargar los datos por Ajax.
Manejo de las rutas para que sean url friendly, es decir que si la persona selecciona casas en alquiler en la pantalla de búsqueda la url del request sería
www.Inmueblesprop.Com/propiedades-inmuebles-casa-alquiler.
Internamente se puede manejar con RouteBase para resolver al Action "Buscar" del controller "Propiedades" y pasar "casa, alquiler" como parámetros y un custom Binder para transformar los parámetros de filtrado/ordenamiento, u otra alternativa mejor que se proponga. Con los filtros es la misma operatoria.
------------------------------------------------------------------------------------------------------------
Armado de vistas
ASP.Net MVC (Razor, JQuery, KoJs)
Hay dos tipos de publicación distintos, con un layout para cada uno. El primero es un aviso simple, y el segundo un aviso compuesto.
En la vista de aviso simple se deben mostrar la información de la publicación solicitada (descripción, mapa, Imágenes) con formularios de contacto, integración con Facebook y Twitter para poder compartirla (como en mercadolibre), thumbnails y vista de imágenes a pantalla completa como Facebook.
Para la vista de publicación compuesta, es lo mismo que la anterior, más el detalle de las subpublicaciones.
El comportamiento realizado con JQuery preferimos que sea abstraído en custom bindings de Knockoutjs.
Que te damos:
Un proyecto base, con los estilos, frameworks y librerías utilizadas ya cargados.
Imágenes de posibles layouts para las pantallas, acá esperamos que nos asesoren con respecto a la mejor disposición.
Una bbdd con datos cargados.
La definición del comportamiento de cada pantalla
La definición de la información que se debe mostrar en cada pantalla.
Capturas de pantalla del sistema para usar de guía en la disposición y proporciones del layout.
Plazo de Entrega: No definido