Mediante el uso de tecnologías de Backend se construye un servicio API con el propósito de permitir el consumo de los recursos en diferentes servicios mediante el método GET a traves de diferentes endpoints.
El proyecto Backend esta construido en Laravel y se compone principalmente de dos apartados, uno de ellos el sistema de gestión de inmuebles donde el usuario pueda realizar toda la gestión de inmuebles (CREAR, EDITAR, ELIMINAR) y el segundo el servicio API el cual es usado por diferentes clientes para mostrar la información de los inmuebles en interfaces personalizadas.
Funcionalidades
El proyecto al contar no solo con el API sino también con el gestor de contenidos, dispone de las siguientes caracerísticas generales.
- API REST de Inmuebles: Cuenta con un API que permite filtrar inmuebles por diferentes atributos, marcar inmueble como favorito, listar los inmuebles por región y desde luego ver el detalle específico de un inmueble.
- CMS de Inmuebles: El sistema gestión de contenidos personalizado utilizando Laravel, ofrece una interfaz sencilla que permite gestionar con operaciones CREATE, EDIT y DELETE. Además del recurso de inmueble también se pueden gestionar otros recursos como las ciudades, atributos o categorias.
- Base de Datos MySQL: Se garantiza la integridad de la información gracias a la implementación de una base de datos robusta que dispone de las relaciones necesarias para el correcto funcionamiento del sistema.
- Autenticación y Seguridad: El CMS cuenta con un sistema de autenticación y validación de roles de usuario, esto permite que usuarios no autorizados queden inhabilitados para acceder o modificar información sensible.
CMS preview
Documentación API
Descripción básica de la especificación API desarrollada para el consumo de los recursos disponibles del Portal Inmobiliario. Se detalla la especificación de los diferentes endpoints y métodos disponibles.
Obtener el listado de inmuebles
GET
/api/v1/properties
(Obtiene listado de inmuebes con datos básicos)
Parámetros
Sin parámetros
Respuestas
http code | content-type | response |
---|---|---|
200 | application/json | {"data": [...]} |
400 | application/json | {"code":"400","message":"Bad Request"} |
Ejemplo con fetch
fetch('/api/v1/properties')
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log('error', error))
Obtener detalle del inmueble
GET
/api/v1/properties/{slug}
(Especificación detallada del inmueble)
Parámetros
name | type | data-type | description |
---|---|---|---|
slug | required | string | Atributo slug único del inmueble |
Respuestas
http code | content-type | response |
---|---|---|
200 | application/json | {"data": {...}} |
400 | application/json | {"code":"400","message":"Bad Request"} |
Ejemplo con fetch
fetch('/api/v1/properties/{slug}')
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log('error', error))