scieee Open visual document viewer

Desarrollo de un multibuscador de compra-venta de pisos

Álvarez Acarregui, Diego; Vicente Martínez, Adriana

Abstract

Nuestro multibuscador para la compra y venta de pisos es una plataforma web diseñada para facilitar a los usuarios el proceso de búsqueda y negociación de propiedades inmobiliarias. Con una interfaz intuitiva y avanzadas funcionalidades, nuestra plataforma ofrece una experiencia completa y satisfactoria en la búsqueda de viviendas. Desde la recopilación de datos de múltiples fuentes hasta la estimación del valor de las propiedades, nuestro multibuscador proporciona a los usuarios todas las herramientas necesarias para encontrar la vivienda ideal y llevar a cabo transacciones inmobiliarias de manera segura y eficiente.

Full text

Desa ollo de un mul ibuscado de comp a- en a de pisos TRABAJO FIN DE GRADO CURSO 2023-2024 DIEGO ÁLVAREZ ACARREGUI ADRIANA VICENTE MARTINEZ DIRECTOR ANTONIO SARASA CABEZUELO GRADO EN INGENIERÍA INFORMÁTICA Y ADMINISTRACIÓN Y DIRECCIÓN DE EMPRESAS FACULTAD DE INFORMÁTICA UNIVERSIDAD COMPLUTENSE DE MADRID Junio - 2024 1 DEDICATORIA A nues os pad es, po su apoyo cons an e a lo la go de es e camino académico. A nues os p o eso es, po su guía, inspi ación y conocimien os compa idos. A nues os amigos, po su ánimo y compañía en los momen os di íciles. Y a noso os mismos, po el es ue zo y la dedicación dedicados a es e log o. Es e abajo es á dedicado a odos us edes, con g a i ud y ca iño. AGRADECIMIENTOS Quie o exp esa mi since o ag adecimien o a nues o p o eso An onio Sa asa po su in alo able o ien ación, apoyo y dedicación du an e odo el p oceso de ealización de es e T abajo de Fin de G ado. Sus conocimien os, suge encias y alien o ue on undamen ales pa a alcanza es e log o académico. Su comp omiso y disponibilidad han sido una uen e cons an e de inspi ación y mo i ación. G acias po compa i su expe iencia y expe ise, An onio, ha sido un hono con a con su guía en es e iaje académico. RESUMEN Nues o mul ibuscado pa a la comp a y en a de pisos es una pla a o ma web diseñada pa a acili a a los usua ios el p oceso de búsqueda y negociación de p opiedades inmobilia ias. Con una in e az in ui i a y a anzadas uncionalidades, nues a pla a o ma o ece una expe iencia comple a y sa is ac o ia en la búsqueda de i iendas. Desde la ecopilación de da os de múl iples uen es has a la es imación del alo de las p opiedades, nues o mul ibuscado p opo ciona a los usua ios odas las he amien as necesa ias pa a encon a la i ienda ideal y lle a a cabo ansacciones inmobilia ias de mane a segu a y e icien e. 2 ÍNDICE GENERAL 1. In oducción 1.1. Es uc u a de la memo ia 1.2. Mo i ación 1.3. Obje i os 1.4. Plan de abajo 2. Es ado del a e 2.1. Idealis a 2.2. Fo ocasa 2.3. Pisos.com 2.4. Yaencon e 2.5. T o imap 2.6. Habi aclia 3. Tecnología empleada 3.1. HTML 3.2. CSS 3.3. Py hon 3.4. Biblio ecas 3.4.1. Beau i ulSoup 3.4.2. Numpy 3.4.3. Vi ualen 3.5. Django 3.6. SQLi e 3.7. Visual S udio Code 3.8. Docke Desk op 4. Casos de uso 4.1. Ac o es 4.2. Diag amas de caso de uso 4.3. Especi icación de equisi os 5. A qui ec u a de la Aplicación y modelo de Da os 5.1. A qui ec u a de la aplicación 5.2. Es uc u a de la base de da os 5.2.1. Tabla aplicacion_anuncioinmueble 5.2.2. Tabla aplicacion_cus omuse 5.2.3. Tabla aplicacion_cus omuse _g oups 5.2.4. Tabla aplicacion cus omuse use _pe missions 5.2.5. Tabla aplicacion_ a o i osusua io 5.2.6. Tabla au h_g oup 5.2.7. Tabla au h_g oup_pe missions 3 5.2.8. Tabla au h_pe mission 5.2.9. Tabla django_admin_log 5.2.10. Tabla django_con en _ ype 5.2.11. Tabla django_mig a ions 5.2.12. Tabla django_session 5.2.13. Tabla sqli e_sequence 6. Implemen ación y diseño g á ico de la aplicación 6.1. Diseño g á ico de la aplicación 6.1.1. Nomb e 6.1.2. Logo 6.1.3. Es ilo 6.2. Implemen ación de la aplicación web 6.2.1. Modelos 6.2.1.1. Sección del Adminis ado 6.2.1.1.1. Ges ión de Usua ios 6.2.1.1.2. Añadi Usua io 6.2.1.1.3. Modi ica Usua io 6.2.1.1.4. Elimina usua io 6.2.1.1.5. Ges ión de Inmuebles 6.2.1.1.6. Añadi Anuncio Inmueble 6.2.1.1.7. Modi ica Anuncio Inmueble 6.2.1.1.8. Elimina Anunció Inmueble 6.2.1.1.9. Ges ión de Cha s 6.2.1.1.10. Elimina Cha 6.2.1.2. Sección Usua io 6.2.1.2.1. Página P incipal 6.2.1.2.2. C ea una cuen a 6.2.1.2.3. Inicio de sesión 6.2.1.2.4. Menú del usua io 6.2.1.2.5. Pe il de Usua io 6.2.1.2.6. Publica Inmueble 6.2.1.2.7. Ve Inmuebles usua io 6.2.1.2.8. Ve Inmueble usua io 6.2.1.2.9. Elimina Inmueble 6.2.1.2.10. Añadi y Elimina Inmueble a Fa o i os 6.2.1.2.11. Ve Fa o i os Usua io 6.2.1.2.12. Ve Cha s P opie a io 6.2.1.2.13. Ve Cha s Clien e 6.2.1.2.14. Mul ibuscado 6.2.1.2.15. web sc aping 4 6.2.1.2.16. Mapa 6.2.1.2.17. Tasado 6.2.1.2.18. Modi ica anuncio 7. Conclusiones y abajo u u o 7.1. Conclusiones 7.2. T abajo u u o 8. Guía de Uso 9. Bibliog a ía Capí ulo 1 - In oducción En es e T abajo de Fin de G ado se p esen a el desa ollo de un mul ibuscado especializado en la comp a- en a de pisos. Con el obje i o de acili a la búsqueda de i iendas, se ha diseñado una pla a o ma que ag ega in o mación de dis in os po ales inmobilia ios, o eciendo así una he amien a in eg al y e icien e pa a los usua ios in e esados en el me cado inmobilia io 1.1 Es uc u a de la memo ia La es uc u a de la memo ia a a segui es os pun os: ● In oducción: B e e in oducción al ema del mul ibuscado de comp a- en a de pisos, obje i os del abajo y es uc u a de la memo ia. ● Es ado del A e: Re isión de la li e a u a ele an e sob e sis emas de búsqueda de i iendas y mul ibuscado es, análisis de endencias y ecnologías en el ámbi o de la búsqueda inmobilia ia. ● Tecnología Empleada: Desc ipción de las ecnologías y he amien as u ilizadas en el desa ollo del mul ibuscado , jus i icación de las elecciones ecnológicas. ● Casos de Uso: Iden i icación y desc ipción de los p incipales casos de uso del me abuscado , escena ios de uso ípicos y análisis de las necesidades de los usua ios. ● A qui ec u a de la Aplicación y Modelo de Da os: De alle de la a qui ec u a écnica del mul ibuscado , diseño del modelo de da os u ilizado pa a almacena la in o mación ele an e. ● Implemen ación y Diseño de la Aplicación: Desc ipción de allada de la implemen ación del mul ibuscado , conside aciones de diseño y desa ollo de la in e az de usua io. ● Conclusiones y T abajo Fu u o: Resumen de los hallazgos y esul ados ob enidos, 5 e lexión sob e posibles mejo as y líneas de in es igación u u as. ● Guía de Uso: Ins ucciones de alladas pa a u iliza el mul ibuscado de mane a e ec i a, consejos y ecomendaciones pa a saca el máximo p o echo de la aplicación. ● Bibliog a ía: Lis ado de odas las uen es consul adas y e e enciadas du an e la elabo ación del abajo. 1.2 Mo i ación La mo i ación de ás de es e T abajo de Fin de G ado adica en la c ecien e demanda y complejidad del me cado inmobilia io. La búsqueda de i ienda es un p oceso c ucial que puede esul a edioso y ab umado pa a los usua ios debido a la amplia gama de opciones disponibles en múl iples pla a o mas. La c eación de un mul ibuscado de comp a- en a de pisos su ge como una solución pa a simpli ica es e p oceso, p opo cionando a los usua ios una he amien a in eg al que ag upa y o ganiza la in o mación de di e sos po ales inmobilia ios Es e p oyec o busca acili a la búsqueda de i ienda al o ece una pla a o ma e icien e y cen alizada que pe mi a a los usua ios encon a la p opiedad adecuada de mane a ápida y sencilla. Asimismo, la implemen ación de es e mul ibuscado b inda la opo unidad de explo a y aplica di e sas ecnologías como nues o asado basado en IA. En esumen, la mo i ación subyacen e en es e TFG es mejo a la expe iencia de búsqueda de i ienda de los usua ios y explo a nue as soluciones ecnológicas pa a abo da es e desa ío. 1.3 Obje i os Los obje i os de es e T abajo de Fin de G ado (TFG) se han en ocado en a ios aspec os cla e, que aba can desde el análisis del me cado inmobilia io has a la implemen ación de uncionalidades especí icas en la página web. Aquí es án los obje i os de allados: 1. Analiza el Me cado Inmobilia io: Uno de los obje i os p incipales ue ealiza un análisis exhaus i o del me cado inmobilia io ac ual, comp endiendo las endencias, demandas y desa íos exis en es. Es o incluyó la in es igación de p ecios de la 6 i ienda, la o e a y la demanda en di e en es á eas geog á icas, así como el es udio de las p e e encias y compo amien os de los comp ado es y endedo es de i iendas. 2. Diseña la Página Web: O o obje i o impo an e ue el diseño de una página web in ui i a, a ac i a y uncional pa a el usua io inal. Es o implicó la c eación de un diseño de in e az de usua io (UI) y expe iencia de usua io (UX) que ga an iza a una na egación ácil y una expe iencia sa is ac o ia pa a los usua ios. Se conside a on aspec os como la disposición de los elemen os, la elección de colo es, la legibilidad del ex o y la acilidad de uso en disposi i os mó iles. 3. Ga an iza la Segu idad: La segu idad de los da os y la p i acidad de los usua ios ue on obje i os c í icos en el desa ollo de la página web. Se implemen a on medidas de segu idad obus as pa a p o ege la in o mación con idencial de los usua ios, como con aseñas ci adas, au en icación de dos ac o es, y enc ip ación de da os sensibles. Además, se adop a on buenas p ác icas de segu idad en el desa ollo de so wa e pa a p e eni ulne abilidades y a aques cibe né icos. 4. Implemen a Funcionalidades: Se es ableció como obje i o la implemen ación de di e sas uncionalidades en la página web pa a mejo a la expe iencia del usua io y p opo ciona un se icio comple o. Es as uncionalidades incluyen la búsqueda a anzada de p opiedades, la isualización de de alles de la i ienda, la posibilidad de gua da a o i os, la compa ación de p opiedades, la comunicación con agen es inmobilia ios, en e o as. Cada uncionalidad se diseñó y desa olló cuidadosamen e pa a cumpli con las necesidades y expec a i as de los usua ios. En esumen, los obje i os de es e TFG aba can desde el análisis del me cado inmobilia io has a el diseño y la implemen ación de una página web segu a y uncional. Cada obje i o se abo dó con me iculosidad y a ención al de alle pa a ga an iza el éxi o y la e ec i idad del p oyec o en su conjun o. 1.4 Plan de abajo 7 Capí ulo 2 - Es ado del a e En es e capí ulo se desc iben algunas de las pla a o mas web con uncionalidades pa ecidas a nues o mul ibuscado : 2.1 Idealis a Idealis a es una de las pla a o mas líde es en el me cado inmobilia io en España y o os países. O ece una amplia a iedad de p opiedades en en a y alquile , incluyendo pisos, casas, apa amen os y más. Pe mi e a los usua ios ealiza búsquedas a anzadas con il os po ubicación, p ecio, amaño, ca ac e ís icas de la i ienda, en e o os. Además de lis ados de p opiedades, Idealis a ambién p opo ciona he amien as y ecu sos ú iles pa a comp ado es y endedo es, como guías de p ecios de me cado y consejos pa a la comp a o en a de una i ienda. 2.2 Fo ocasa Fo ocasa es o a pla a o ma muy popula pa a busca i iendas en en a y alquile en España. O ece una amplia a iedad de lis ados, desde apa amen os y casas has a e enos y locales come ciales. Los usua ios pueden u iliza il os a anzados pa a e ina su búsqueda po ubicación, p ecio, amaño, núme o de habi aciones, e c. Fo ocasa ambién p opo ciona he amien as adicionales, como ale as pe sonalizadas pa a ecibi no i icaciones sob e nue as p opiedades que coincidan con los c i e ios de búsqueda del usua io. 2.3 Pisos.com Pisos.com es una pla a o ma que o ece una amplia selección de p opiedades en en a y alquile , incluyendo pisos, casas, á icos, e c. Pe mi e a los usua ios ealiza búsquedas a anzadas u ilizando il os po ubicación, p ecio, ca ac e ís icas de la i ienda, se icios ce canos, e c. 8 Además de los lis ados de p opiedades, Pisos.com o ece ecu sos ú iles pa a los usua ios, como he amien as de alo ación de i iendas y guías pa a la comp a o alquile de una p opiedad. Cabe des aca que de es a página es donde ex aemos la in o mación a a és de Web Sc aping y la ing esamos en nues a aplicación. PONER TECNOCASA 2.4 Yaencon e Yaencon e es una pla a o ma que ag ega anuncios de di e en es po ales inmobilia ios, pe mi iendo a los usua ios busca p opiedades en una amplia a iedad de ubicaciones y angos de p ecios. O ece he amien as de búsqueda a anzadas, incluyendo il os po ipo de p opiedad, ca ac e ís icas, p ecio, e c. Los usua ios pueden gua da sus búsquedas y ecibi ale as sob e nue as p opiedades que coincidan con sus c i e ios de búsqueda. 2.5 T o imap T o imap es una aplicación que p opo ciona un mapa in e ac i o donde los usua ios pueden busca p opiedades en en a y alquile en una ubicación especí ica. Pe mi e a los usua ios isualiza ácilmen e las opciones disponibles en un á ea de e minada y explo a de alles de cada p opiedad di ec amen e en el mapa. Además de la búsqueda po ubicación, T o imap o ece il os pa a e ina la búsqueda po ipo de p opiedad, p ecio, amaño, e c. 2.5 Habi aclia Habi aclia es una pla a o ma que o ece una amplia selección de p opiedades en en a y alquile en España. Los usua ios pueden ealiza búsquedas a anzadas u ilizando il os po ubicación, p ecio, amaño, ca ac e ís icas de la i ienda, e c. Habi aclia ambién p opo ciona ecu sos adicionales, como he amien as de inanciación y aseso amien o inmobilia io. Capí ulo 3 - Tecnología empleada 9 ● Diag ama Adminis ado El adminis ado posee la acul ad de añadi , modi ica y elimina los casos de uso mos ados en la imagen xxx. Además, es e ac o puede ejecu a los mismos casos de uso disponibles pa a usua ios no egis ados y egis ados. Sin emba go, es as capacidades adicionales no se han incluido en el diag ama del adminis ado po conside a se menos ele an es pa a su ol especí ico 16 17 4.3 Especi icación de equisi os En es a sección, se de allan los equisi os especí icos asociados a cada módulo del sis ema, o ganizados pa a acili a la comp ensión de las uncionalidades y los casos de uso elacionados con cada uno. Es a o ganización modula ayuda a iden i ica las esponsabilidades y las ope aciones pe mi idas den o de la pla a o ma. ● Módulo de ges ión de usua ios ● Módulo de búsqueda ● Módulo ges ión de publicaciones ● Módulo social ● Módulo de adminis ación A con inuación, se p ocede á a explica en de alle los casos de uso pe inen es a cada módulo, de allando las acciones pe mi idas pa a los usua ios y los p ocesos del sis ema que sus en an es as uncionalidades. Módulo de ges ión de usua ios - Al a de usua io ( ambién denominado ‘C ea un Cuen a’) - Inicia sesión - Edi a pe il - Modi ica da os pe sonales - Modi ica con aseña ac ual - Elimina cuen a - Ce a sesión Al a de usua io Obje i os asociados Ges ión de usua ios Desc ipción Es e caso de uso desc ibe el p oceso median e el cual un nue o usua io c ea una cuen a en la pla a o ma PisoPe ec o, de allando cada paso necesa io desde el inicio has a la inalización del egis o P econdición El solici an e no dispone de una cuen a p e ia en la pla a o ma Secuencia no mal Paso Acción 1 El ac o hace clic en el bo ón 'Regís a e' ubicado en la in e az, al cual accede a a és del bo ón 'Inicia Sesión' si uado en la ba a de na egación supe io 2 El sis ema solici a los siguien es da os al usua io: Nomb e comple o o emp esa, email, con aseña y con i mación de la con aseña 3 El usua io cumplimen a los campos co espondien es 18 con la in o mación eque ida 4 El usua io debe ma ca la casilla acep ando los “Té minos y condiciones” de la pla a o ma 5 El sis ema ealiza una alidación sin ác ica de los da os ing esados pa a asegu a que cumplen con el o ma o espe ado 6 El sis ema e i ica en la base de da os que no exis a o o usua io con el mismo email o el mismo Nomb e comple o o emp esa 7 Si la e i icación es exi osa, el sis ema egis a al nue o usua io en la base de da os 8 Una ez egis ado, el sis ema edi ige al usua io a la pan alla p incipal de PisoPe ec o con su sesión ya iniciada Pos condición El usua io iene una cuen a c eada y es á au en icado en el sis ema, pe o no posee con igu aciones pe sonalizadas ni con enido p opio oda ía Excepciones Paso Acción 4 Si el usua io no acep a los é minos y condiciones, el p oceso de egis o no se p ocesa 5 Si el co eo elec ónico ing esado no con iene el ca ác e "@", el sis ema mues a un mensaje de e o Las con aseñas debe con ene al menos 7 ca ac e es; de lo con a io, se no i ica un e o 6 Si el email o el nomb e Comple o/ emp esa p opo cionado ya es á egis ado, el sis ema in o ma un e o y no comple a el egis o Es abilidad Al a Tabla 4.3.1 1 Al a de usua io Inicio de sesión Obje i os asociados Ges ión de usua ios Desc ipción Es e caso de uso desc ibe el p oceso median e el cual un usua io inicia sesión en PisoPe ec o, de allando cada paso necesa io desde el comienzo has a la conclusión del p oceso P econdición El ac o dispone de una cuen a en la pla a o ma Secuencia no mal Paso Acción 19 1 El ac o hace clic en el bo ón 'Inicia Sesión' si uado en la ba a de na egación supe io 2 El sis ema solici a los siguien es da os al usua io: Email y con aseña 3 El usua io cumplimen a los campos co espondien es con la in o mación eque ida 4 El sis ema ealiza una alidación sin ác ica de los da os ing esados pa a asegu a que cumplen con el o ma o espe ado 6 El sis ema e i ica en la base de da os que exis a un usua io egis ado con el DNI p opo cionado y la misma con aseña 7 Si la e i icación es exi osa, el sis ema edi ige al usua io a la pan alla p incipal de Pisope ec o con su sesión ya iniciada Pos condición La sesión del usua io es á ac i a, lo que pe mi e la in e acción con inua con la pla a o ma sin necesidad de ol e a au en ica se Excepciones Paso Acción 4 Si el co eo elec ónico ing esado no con iene el ca ác e "@", el sis ema mues a un mensaje de e o 5 Si el DNI y la con aseña no coinciden con lo con enido en la base de da os, se no i ica un e o Es abilidad Al a Tabla 4.3.1 2 Inicio de Sesión Edi a Da os pe sonales Obje i os asociados Ges ión de usua ios Desc ipción Es e caso de uso especi ica cómo un usua io egis ado en PisoPe ec o puede edi a sus da os pe sonales, a los que accede a a és de la sección p i ada de “Ve Pe il” P econdición El usua io debe habe iniciado sesión y sus da os deben es a comple amen e ca gados en el sis ema Secuencia no mal Paso Acción 1 El usua io accede a su pe il a a és del bo ón “Ve Pe il” si uado en la ba a de na egación supe io 20 2 El usua io decide modi ica sus da os pe sonales 3 El sis ema o ece los siguien es campos pa a modi ica o comple a : Nomb e comple o, núme o de elé ono y p o incia 4 El usua io modi ica los campos deseados 5 El sis ema alida los da os ing esados pa a asegu a su co ec o o ma o 6 T as la alidación, el sis ema ac ualiza los da os en la base de da os y e esca la isualización en la pan alla Pos condición Los da os pe sonales del usua io se han modi icado con éxi o Excepciones Paso Acción 5 Si el campo de “Nomb e Comple o” es á acío o con iene ca ac e es no álidos, o si el núme o de elé ono no cumple con el o ma o eque ido, se mues a un mensaje de e o . Los campos ‘núme o de elé ono’ y p o incia pueden es a acíos (en caso de no cumplimen a se, no mos a á e o ). Es abilidad Al a Tabla 4.3.1 2 Edi a Da os Pe sonales Cambia Con aseña Obje i os asociados Ges ión de usua ios Desc ipción Es e caso de uso especi ica cómo un usua io egis ado puede cambia su con aseña ac ual po una nue a. Es a opción es accesible a a és de la sección p i ada de “Ve Pe il” P econdición El usua io debe habe iniciado sesión y sus da os deben es a comple amen e ca gados en el sis ema Secuencia no mal Paso Acción 1 El usua io accede a su pe il a a és del bo ón “Ve Pe il” si uado en la ba a de na egación supe io 2 El usua io decide cambia su con aseña ac ual 3 El sis ema solici a la con aseña ac ual y dos eces la nue a con aseña 4 El usua io comple a los campos eque idos 21 5 El sis ema ealiza una alidación del núme o de ca ac e es ing esados 6 El sis ema e i ica que la con aseña ac ual coincida con la almacenada en la base de da os y que las nue as con aseñas coincidan en e sí 7 Si las e i icaciones son co ec as, el sis ema ac ualiza la con aseña Pos condición La con aseña del usua io ha sido ac ualizada. La siguien e ez que inicie sesión, debe á in oduci la nue a con aseña Excepciones Paso Acción 5 Si los campos de las con aseñas es án incomple os o las con aseñas no cumplen con los equisi os mínimos (ej., longi ud mínima de 7 ca ac e es), el sis ema mues a un mensaje de e o 6 Si la con aseña ac ual no coincide con la base de da os, el sis ema mues a un mensaje de e o y no ac ualiza la con aseña Es abilidad Al a, debido a la impo ancia de pe mi i a los usua ios ges iona su sis ema de au en icación de mane a segu a y e ec i a Tabla 4.3.1 2 Cambia Con aseña Elimina Cuen a Obje i os asociados Ges ión de usua ios Desc ipción Es e caso de uso especi ica cómo un usua io egis ado puede elimina su cuen a de o ma pe manen e en el sis ema P econdición El usua io debe habe iniciado sesión y sus da os deben es a comple amen e ca gados en el sis ema Secuencia no mal Paso Acción 1 El usua io accede a su pe il a a és del bo ón “Ve Pe il” si uado en la ba a de na egación supe io 2 El usua io decide da se de baja en Pisope ec o 3 El usua io debe con i ma su decisión median e la acep ación de un comboBox. 4 El usua io pulsa sob e el bo ón “Elimina pe manen emen e” 22 5 El sis ema p ocede a elimina odos los da os asociados al usua io 6 El sis ema edi ige a la pan alla de inicio de PisoPe ec o, ce ando cualquie sesión ac i a Pos condición El usua io ya no dispone de una cuen a ope a i a en pisope ec o. Pa a ol e a hace uso de las uncionalidades de un usua io egis ado, debe á c ea una cuen a de nue o. Excepciones Paso Acción 3 Has a que no se selecciona la con i mación, el bo ón de elimina cuen a se encuen a desac i ado Es abilidad Al a, debido a la impo ancia de pe mi i a los usua ios la libe ad de da se de baja en cualquie momen o Tabla 4.3.1 2 Elimina Cuen a Ce a sesión Obje i os asociados Ges ión de usua ios Desc ipción Es e caso de uso de alla el p oceso a a és del cual un usua io egis ado en PisoPe ec o op a po ce a sesión, asegu ando que su iden idad y da os es én segu os as deja la pla a o ma P econdición El ac o debe ene la sesión iniciada en el sis ema Secuencia no mal Paso Acción 1 El ac o selecciona el bo ón 'Ce a Sesión' ubicado en la ba a de na egación supe io 2 El sis ema p ocede a ce a la sesión del usua io, eliminando cualquie da o de sesión empo al o okens de au en icación que pudie an habe se gua dado 3 El sis ema edi ige al usua io a la pan alla de inicio de PisoPe ec o, asegu ando que ninguna sesión ac i a pe manezca abie a Pos condición El usua io no es á au en icado en el sis ema y po lo an o, no iene acceso a ninguna unción ese ada pa a usua ios au en icados sin ol e a inicia sesión Excepciones No aplicable. La ope ación de ce a sesión es una acción di ec a y con olada que a amen e implica complicaciones écnicas Es abilidad Al a Tabla 4.3.1 2 Ce a Sesión 23 Módulo de búsqueda ● Busca en mul ibuscado ● Ve inmueble ● Añadi inmueble a a o i os ● Elimina inmueble de a o i os ● Ve inmuebles a o i os usua io ● Ve úl imos inmuebles is os ● Tasado ● Mapa Tabla 4.3.1 2 Busca Mul ibuscado 24 Busca Mul ibuscado Obje i os asociados Pe mi i a los usua ios busca inmuebles según sus c i e ios especí icos. P opo ciona esul ados ele an es y ac ualizados de mane a e icien e. Desc ipción La unción de búsqueda de inmuebles pe mi e a los usua ios encon a p opiedades según sus p e e encias y necesidades especí icas. P econdición El usua io debe es a na egando en la página "Mul ibuscado ", accesible desde la ba a de na egación supe io o en la página p incipal, donde se mues an odos los inmuebles disponibles Secuencia no mal Paso Acción 1 El usua io accede a la unción de búsqueda de inmuebles 2 El usua io ing esa sus c i e ios de búsqueda y solici a la búsqueda 3 El sis ema mues a los esul ados de la búsqueda al usua io Pos condición El usua io puede e y e isa los esul ados de la búsqueda de inmuebles. Excepciones Si no se encuen an esul ados que coincidan con los c i e ios de búsqueda del usua io, se mues a un mensaje indicando que no se encon a on inmuebles. Si hay e o es en el p oceso de búsqueda, se mues a un mensaje de e o y se indica al usua io que in en e nue amen e más a de. Es abilidad Al a. La unción de búsqueda de inmuebles debe es a disponible y unciona de mane a es able en odo momen o pa a ga an iza una expe iencia de usua io óp ima. Ve Inmuebles Mul ibuscado Obje i os asociados Ges ión de inmuebles Desc ipción Es e caso de uso desc ibe cómo los usua ios, an o egis ados como no egis ados, pueden accede y isualiza de alles especí icos de un inmueble a a és del mul ibuscado en la sección "Comp a " P econdición El usua io debe es a na egando en la página "Buscado ", accesible desde la ba a de na egación supe io , donde se mues an odos los inmuebles disponibles Secuencia no mal → usua io egis ado Paso Acción 1 El usua io selecciona el inmueble que desea explo a en de alle 2 El sis ema mues a la página del inmueble con in o mación de allada 3 El usua io iene la opción de isualiza en de alle las ca ac e ís icas del inmueble, añadi el inmueble a sus a o i os y con ac a con el anuncian e pa a más in o mación Secuencia no mal → usua io no egis ado Paso Acción 1 El usua io selecciona el inmueble que desea explo a en de alle 2 El sis ema mues a la página del inmueble con in o mación de allada 3 El usua io puede e las ca ac e ís icas del inmueble pe o no iene acceso al en o de uncionalidades Pos condición Independien emen e del ipo de usua io, puede e las ca ac e ís icas del inmueble Excepciones No aplicables en condiciones no males de ope ación Es abilidad Al a, dado que la isualización de inmuebles es una uncionalidad undamen al y debe se al amen e disponible y con iable Tabla 4.3.1 2 Ve inmuebles mul ibuscado 25 p egun ando al usua io si es á segu o de que e elimina el inmueble 3 El usua io con i ma la eliminación al selecciona la opción co espondien e en el mensaje de con i mación 4 El sis ema p ocede a elimina el inmueble y odos los da os asociados de la base de da os, asegu ando que no queden esiduos de in o mación 5 Una ez eliminado el anuncio, el sis ema edi ige al usua io a la página que lis a odos sus inmuebles publicados, con i mando isualmen e que el anuncio ha sido eliminado Pos condición El inmueble ha sido eliminado comple amen e del sis ema y ya no es á accesible ni isible pa a ningún usua io Excepciones No aplica 2 Si el usua io decide no p ocede con la eliminación después de e el mensaje de con i mación, el anuncio pe manece sin cambios en el sis ema Es abilidad Al a, dado que es e p oceso es undamen al pa a el con ol y la ges ión de la p opiedad de los usua ios sob e sus anuncios Tabla 4.3.1 2 Elimina Inmueble Usua io 32 Modi ica Inmueble Usua io Obje i os asociados Pe mi i a los usua ios ealiza cambios en los de alles de un anuncio de p opiedad exis en e. Ga an iza que los cambios ealizados se e lejen de mane a p ecisa y ac ualizada en la pla a o ma. Desc ipción La unción de modi ica anuncios pe mi e a los usua ios ealiza modi icaciones en los de alles de un anuncio de p opiedad que han c eado p e iamen e en la pla a o ma. P econdición El usua io ha iniciado sesión en la pla a o ma y ha c eado p e iamen e un anuncio de p opiedad que desea modi ica . Secuencia no mal Paso Acción 1 El usua io accede a la unción de modi ica anuncios. Tabla 4.3.1 2 Modi ica Inmueble Usua io Módulo social ● Con ac a con anuncian e ● Ve con e saciones Con ac a con anuncian e Obje i os asociados Comunicación en e usua ios egis ados Desc ipción Es e caso de uso desc ibe el p ocedimien o median e el cual un usua io egis ado puede inicia una con e sación di ec a con el p opie a io de un inmueble, p opo cionando una pla a o ma pa a discu i de alles adicionales o negocia aspec os del inmueble P econdición El usua io debe es a egis ado y habe iniciado sesión. El usua io se encuen a en la página de de alles del inmueble con la que desea inicia una con e sación Secuencia no mal Paso Acción 1 El sis ema e i ica si el inmueble seleccionado es á asociado a un usua io egis ado en PisoPe ec o 2 Si se con i ma que el inmueble pe enece a un 33 2 El usua io selecciona el anuncio que desea modi ica . 3 El usua io ealiza los cambios deseados en los de alles del anuncio y gua da los cambios. Pos condición Los cambios ealizados po el usua io se e lejan de mane a p ecisa y ac ualizada en el anuncio de p opiedad modi icado. Excepciones Si hay e o es en el p oceso de asación, se mues a un mensaje de e o y se indica al usua io que in en e nue amen e más a de. Si el usua io no p opo ciona su icien e in o mación sob e la p opiedad, se mues a un mensaje indicando que se equie e más in o mación pa a ealiza la asación. Es abilidad Al a La unción de modi ica anuncio debe es a disponible y unciona de mane a es able en odo momen o pa a ga an iza una expe iencia de usua io óp ima. usua io egis ado, el sis ema habili a el bo ón pa a inicia con e sación 3 El ac o pulsa sob e el bo ón ‘Con ac a ’, que se encuen a isible en la página del inmueble 4 Al pulsa el bo ón, el sis ema ab e la in e az de cha co espondien e al inmueble y al p opie a io 5 El usua io puede esc ibi y en ia mensajes, iniciando así una con e sación con el p opie a io del inmueble Pos condición Una con e sación en e el usua io y el p opie a io del inmueble ha sido exi osamen e iniciada y es á ac i a, pe mi iendo in e cambio de mensajes Excepciones Paso Acción 1 Si el inmueble es á lis ado pe o no es á asociado a un usua io egis ado (po ejemplo, un inmueble ag egado a a és de écnicas de web sc aping), el sis ema no habili a á el bo ón pa a inicia con e sación, y el usua io no pod á con ac a al p opie a io a a és de la pla a o ma Es abilidad Al a, dado que el p oceso de comunicación en e usua ios es un componen e esencial de la expe iencia de usua io en PisoPe ec o, y debe unciona de mane a con iable y e icien e Tabla 4.3.1 2 Con ac a con Anuncian e Ve con e saciones Obje i os asociados Comunicación en e usua ios egis ados Desc ipción Es e caso de uso desc ibe cómo un usua io egis ado puede accede y ges iona sus con e saciones elacionadas con inmuebles. El usua io puede ene dos oles p incipales: como clien e (in e esado en inmuebles de o os) y como p opie a io (ges ionando consul as sob e sus p opios inmuebles) P econdición El usua io debe es a egis ado y habe iniciado sesión en PisoPe ec o Secuencia no mal Paso Acción 34 1 El usua io selecciona el bo ón ‘Cha ’, que es accesible an o desde la ba a de na egación supe io como desde el menú del usua io 2 El sis ema ab e la in e az de cha , mos ando una lis a de odas las con e saciones ac i as 3 El usua io puede isualiza e in e ac ua con odas las con e saciones abie as, iden i icando cla amen e cuáles son como clien e y cuáles como p opie a io. Es o incluye la capacidad de esponde mensajes, y elimina cha s an iguos Pos condición Las con e saciones del usua io es án accesibles y o ganizadas, pe mi iendo una comunicación luida y e ec i a, ya sea en su ol de clien e o p opie a io Excepciones Si po alguna azón el usua io no iene acceso a la in e az de cha (p. ej., p oblemas de pe misos o e o es écnicos), el sis ema mos a á un mensaje de e o adecuado y no pe mi i á la isualización o in e acción con las con e saciones Es abilidad Al a, dado que la unción de cha es undamen al pa a la in e acción en e usua ios y debe man ene se ope a i a y accesible en odo momen o pa a asegu a una buena expe iencia de usua io Tabla 4.3.1 2 Ve Con e saciones Módulo de adminis ación ● Añadi usua io ● Modi ica usua io ● Elimina usua io ● Añadi inmueble ● Modi ica inmueble ● Elimina inmueble ● Elimina cha 35 Elimina da os usua ios Obje i os asociados Pe mi i al adminis ado de la pla a o ma elimina los da os de un usua io de mane a segu a y e icien e. Ga an iza que el p oceso de eliminación cumpla con las egulaciones de p o ección de da os y p i acidad. Desc ipción La unción de elimina da os de usua io pe mi e al adminis ado de la pla a o ma elimina de mane a segu a y de ini i a los da os asociados a un usua io en pa icula . 36 P econdición El adminis ado ha iniciado sesión en la pla a o ma de adminis ación de Django y iene los pe misos necesa ios pa a ealiza la eliminación de da os de usua io. Secuencia no mal Paso Acción 1 El adminis ado accede a la sección de adminis ación de usua ios. 2 El adminis ado selecciona el usua io cuyos da os desea elimina . 3 El adminis ado con i ma la eliminación de los da os del usua io 4 El adminis ado con i ma la eliminación de los da os del usua io. Pos condición Los da os del usua io seleccionado han sido eliminados de mane a segu a y de ini i a de la pla a o ma. Excepciones Si hay e o es en el p oceso de eliminación de da os, se mues a un mensaje de e o y se indica al adminis ado que in en e nue amen e más a de. Es abilidad Al a La unción de elimina da os de usua io debe es a disponible y unciona de mane a es able en odo momen o pa a ga an iza el cumplimien o de las egulaciones de p o ección de da os y p i acidad. Elimina da os de o e as Obje i os asociados Pe mi i al adminis ado de la pla a o ma elimina los da os de una o e a de mane a segu a y e icien e. Ga an iza que el p oceso de eliminación cumpla con las egulaciones de p o ección de da os y p i acidad. Desc ipción La unción de elimina da os de o e as pe mi e al adminis ado de la pla a o ma elimina de mane a segu a y de ini i a los da os asociados a una o e a en pa icula . P econdición El adminis ado ha iniciado sesión en la pla a o ma de adminis ación de Django y iene los pe misos necesa ios pa a ealiza la eliminación de da os de o e as. Secuencia no mal Paso 1 El adminis ado accede a la sección de adminis ación de o e as. 2 El adminis ado selecciona la o e a cuyos da os desea elimina 3 El adminis ado con i ma la eliminación de los da os 37 de la o e a. 4 El adminis ado con i ma la eliminación de los da os de la o e a. Pos condición Los da os de la o e a seleccionada han sido eliminados de mane a segu a y de ini i a de la pla a o ma. Excepciones .Si hay e o es en el p oceso de eliminación de da os, se mues a un mensaje de e o y se indica al adminis ado que in en e nue amen e más a de. Es abilidad Al a La unción de elimina da os de o e as debe es a disponible y unciona de mane a es able en odo momen o pa a ga an iza el cumplimien o de las egulaciones de p o ección de da os y p i acidad. Modi ica da os usua ios Obje i os asociados Pe mi i a los adminis ado es de la pla a o ma modi ica los da os de los usua ios de mane a segu a y e icien e. Ga an iza que los cambios ealizados se e lejen co ec amen e en la pla a o ma. Desc ipción La unción de modi ica da os de usua ios pe mi e a los adminis ado es de la pla a o ma ealiza cambios en la in o mación de los usua ios egis ados. P econdición El adminis ado ha iniciado sesión en la pla a o ma de adminis ación de Django y iene los pe misos necesa ios pa a modi ica los da os de los usua ios. Secuencia no mal Paso 1 El adminis ado accede a la sección de adminis ación de usua ios. 2 El adminis ado selecciona el usua io cuyos da os desea modi ica . 3 El adminis ado ealiza los cambios deseados en los da os del usua io y gua da los cambios. Pos condición Los da os del usua io seleccionado han sido modi icados de mane a segu a y los cambios se e lejan co ec amen e en la pla a o ma. Excepciones Si el adminis ado no iene los pe misos necesa ios pa a ealiza la modi icación de da os de usua io, se mues a un mensaje indicando que no iene au o ización pa a lle a a cabo es a ope ación. Si hay e o es en el p oceso de modi icación de da os, se mues a un mensaje de e o y se indica al adminis ado que in en e 38 nue amen e más a de. Es abilidad Al a La unción de modi ica da os de usua ios debe es a disponible y unciona de mane a es able en odo momen o pa a ga an iza la in eg idad y la p ecisión de la in o mación de los usua ios en la pla a o ma. Modi ica da os de o e as Obje i os asociados .Pe mi i a los adminis ado es de la pla a o ma modi ica los da os de las o e as de mane a segu a y e icien e. Ga an iza que los cambios ealizados se e lejen co ec amen e en la pla a o ma. Desc ipción La unción de modi ica da os de o e as pe mi e a los adminis ado es de la pla a o ma ealiza cambios en la in o mación de las o e as egis adas. P econdición El adminis ado ha iniciado sesión en la pla a o ma de adminis ación de Django y iene los pe misos necesa ios pa a modi ica los da os de las o e as. Secuencia no mal Paso 1 El adminis ado accede a la sección de adminis ación de o e as. 2 El adminis ado selecciona la o e a cuyos da os desea modi ica . 3 El adminis ado ealiza los cambios deseados en los da os de la o e a y gua da los cambios. Pos condición Los da os de la o e a seleccionada han sido modi icados de mane a segu a y los cambios se e lejan co ec amen e en la pla a o ma. Excepciones Si el adminis ado no iene los pe misos necesa ios pa a ealiza la modi icación de da os de o e a, se mues a un mensaje indicando que no iene au o ización pa a lle a a cabo es a ope ación. Si hay e o es en el p oceso de modi icación de da os, se mues a un mensaje de e o y se indica al adminis ado que in en e nue amen e más a de. Es abilidad Al a La unción de modi ica da os de o e as debe es a disponible y unciona de mane a es able en odo momen o pa a ga an iza la in eg idad y la p ecisión de la in o mación de las o e as en la pla a o ma. 39 Modi ica mensaje ía Obje i os asociados Pe mi i al adminis ado de la pla a o ma modi ica los mensajes en iados a a és del sis ema de mensaje ía. P opo ciona una he amien a segu a y e icien e pa a ealiza cambios en los mensajes exis en es. Desc ipción La unción de modi ica mensaje ía po pa e del adminis ado pe mi e ealiza cambios en los mensajes en iados po los usua ios a a és del sis ema de mensaje ía de la pla a o ma. P econdición El adminis ado ha iniciado sesión en la pla a o ma de adminis ación de Django y iene los pe misos necesa ios pa a modi ica mensajes. Secuencia no mal Paso 1 El adminis ado accede a la sección de mensajes 2 El adminis ado selecciona el mensaje que desea modi ica . 3 El adminis ado ealiza los cambios deseados en el mensaje y gua da los cambios. Pos condición El mensaje seleccionado ha sido modi icado y los cambios se e lejan co ec amen e en el sis ema de mensaje ía de la pla a o ma. Excepciones Si el adminis ado no iene los pe misos necesa ios pa a modi ica mensajes, se mues a un mensaje indicando que no iene au o ización pa a lle a a cabo es a ope ación. Si hay e o es en el p oceso de modi icación de mensajes, se mues a un mensaje de e o y se indica al adminis ado que in en e nue amen e más a de. Es abilidad Al a La unción de modi ica mensaje ía po pa e del adminis ado debe es a disponible y unciona de mane a es able en odo momen o pa a ga an iza una ges ión e icien e de los mensajes en la pla a o ma. Capí ulo 5 - A qui ec u a de la Aplicación y modelo de Da os En es e apa ado se explica las ablas de la BD y la a qui ec u a u ilizada: 5.1 A qui ec u a de la aplicación En el desa ollo de nues a aplicación de mul ibuscado de comp a- en a de pisos, hemos op ado po una a qui ec u a clien e-se ido , que es una de las a qui ec u as más u ilizadas en el desa ollo de aplicaciones web. Es a a qui ec u a di ide la aplicación en dos pa es p incipales: el clien e y el se ido . ● Clien e: El clien e es la in e az de usua io a a és de la cual los usua ios in e ac úan con la aplicación. En nues o caso, los clien es son los usua ios inales, que pueden se comp ado es, endedo es u o os in e esados en el me cado inmobilia io. U ilizan un na egado web pa a accede a la aplicación y ealiza di e sas acciones, como busca p opiedades, il a esul ados, e de alles de lis ados, e c. ● Se ido : El se ido es el componen e enca gado de p ocesa las solici udes ealizadas po los clien es y gene a las espues as co espondien es. En nues a a qui ec u a, el se ido es á implemen ado u ilizando el amewo k Django, que ac úa como un se ido web capaz de maneja las solici udes HTTP en an es y p ocesa las según la lógica de la aplicación. Además, el se ido in e ac úa con la base de da os SQLi e pa a ecupe a y almacena in o mación sob e las p opiedades inmobilia ias disponibles. Po lo an o, en nues a a qui ec u a de aplicación, los usua ios (clien es) inician las solici udes al se ido a a és de sus na egado es web, y el se ido esponde a es as solici udes gene ando y en iando las páginas web co espondien es. Es a di isión de esponsabilidades en e el on -end (clien e) y el back-end (se ido ) pe mi e una implemen ación modula y escalable de la aplicación, acili ando su desa ollo, man enimien o y e olución u u a. 40 5.2 Es uc u a de la base de da os La es uc u a de la base de da os de la aplicación se ha diseñado pa a almacena di e en es ipos de in o mación de mane a o ganizada y e icien e. En la Figu a 5.1 se mues an las di e en es ablas de la base de da os, cada una de las cuales ep esen a una en idad cla e de la aplicación. Algunas de es as en idades pueden inclui usua ios, anuncios de inmuebles, a o i os de usua ios, en e o as, dependiendo de los eque imien os especí icos de u aplicación. Figu a 5. 1 Tabla de la BD El p oceso de c eación de ablas que hemos seguido es: 1. Iden i icación de las En idades: El p ime paso consis ió en iden i ica las en idades cla e de la aplicación, como usua ios, se icios y solici udes. Es as en idades ep esen an los p incipales obje os de da os que se án almacenados en la base de da os. 2. De inición de A ibu os: Se p ocedió a iden i ica los a ibu os o ca ac e ís icas que debe almacena cada abla. Po ejemplo, en la abla de usua ios se gua da ía oda la in o mación eque ida du an e el p oceso de egis o en la página web. 3. De inición del Tipo de Da o: Una ez iden i icados los a ibu os, se de inió el ipo de da o pa a cada uno de ellos. Po ejemplo, el nomb e pod ía se una cadena de 41 El diseño de la aplicación web, denominada PisoPe ec o, se ha o ien ado hacia la c eación de una expe iencia de usua io óp ima y accesible. Median e un diseño in ui i o, acili a a los usua ios una na egación e icien e po las di e sas secciones de la pla a o ma. 6.1.1 Nomb e El nomb e "PisoPe ec o" combina dos é minos ecuen emen e usados en el sec o inmobilia io: ● "Piso": Re e encia a un conjun o de habi aciones que o man una i ienda independien e den o de un edi icio. ● "Pe ec o": Alude a la excelencia en alguna cualidad o ca ac e ís ica. La elección del é mino "Piso" se basa en da os del Colegio de Regis ado es que indican que las i iendas colec i as (pisos) cons i uye on el 80.6% de las ansacciones inmobilia ias en 2022. Es a es adís ica e leja la p e e encia de los españoles po es e ipo de i ienda, azón po la cual se inco po a al nomb e de la aplicación. El adje i o "Pe ec o" se añade pa a esal a el obje i o de la aplicación: ayuda al usua io a encon a la i ienda que mejo se adap e a sus necesidades. 6.1.2 Logo El logo ipo de PisoPe ec o in eg a las iniciales de las palab as cla e del nomb e. Consis e en una "P" in e ida, que mi a hacia la izquie da, ep esen ando "Piso", y o a "P" que ep esen a "Pe ec o". Es as le as se unen o mando un diseño dis in i o que se mues a en la Imagen 1. 48 6.1.3 Es ilo El obje i o del diseño de la aplicación web es asegu a una expe iencia del usua io luida y simpli icada. Los colo es p edominan es son el neg o, blanco, ama illo y azul, elegidos pa a acili a la lec u a y la in e acción en la in e az. Es os colo es se dis ibuyen a moniosamen e en e ex os, bo ones y elemen os es uc u ales. La in e az se ha diseñado man eniendo un en oque minimalis a, lo que ayuda a e i a el deso den isual y concen a la a ención en el con enido esencial. Se han seleccionado uen es legibles y amaños de ex o ap opiados pa a asegu a la mejo isibilidad posible. La imagen xxx mues a la pale a de colo es u ilizada, así como los logo ipos y el nomb e de la ma ca. 6.2 Implemen ación de la aplicación web 6.2.1 Modelos En el con ex o del desa ollo web con amewo ks como Django, los modelos desempeñan un papel c ucial en el pa ón de diseño MVT 49 (Modelo-Vis a-Templa e). Es as es uc u as de da os son undamen ales po que de inen la lógica de negocio y dic an cómo se almacenan, ecupe an y manipulan los da os. Con es a base es ablecida, se han diseñado los siguien es modelos pa a asegu a el co ec o uncionamien o y la e ec i idad de la aplicación: Pa a la au en icación y ges ión de usua ios egis ados en la aplicación PisoPe ec o, se ha op ado po u iliza la clase base ‘Abs ac Use ’ de Django. Es a clase p opo ciona una implemen ación comple a del modelo de usua io, incluyendo campos y mé odos es ánda u ilizados en sis emas de au en icación. No obs an e, se ha c eado el modelo Cus omUse , que ex iende Abs ac Use , pa a pe sonaliza y añadi nue os campos al modelo sin necesidad de econs ui el sis ema de au en icación. Además del conjun o es ánda de campos he edados, como use name, email, passwo d, y i s _name, se ha es ablecido el email como un iden i icado único pa a el inicio de sesión y se han inco po ado campos adicionales como elé ono y p o incia, mejo ando la uncionalidad y adap abilidad del sis ema de ges ión de usua ios. El modelo ‘AnuncioInmueble’ de la aplicación PisoPe ec o es undamen al pa a ges iona y almacena los da os de odos los inmuebles lis ados, an o po usua ios egis ados como los ob enidos po websc aping. Los campos del modelo aba can la localización, dimensiones, ca ac e ís icas especí icas del inmueble, ipo de ope ación, p ecio, núme o de habi aciones y baños, y la supe icie o al, en e o os. Además, se incluye el campo usua io, una cla e o ánea que incula cada anuncio a su usua io esponsable. Es o pe mi e as ea 50 los anuncios de mane a e ec i a y asegu a que al elimina un usua io, odos sus inmuebles publicados ambién se eliminen au omá icamen e, g acias a la polí ica ‘on_dele e=models.CASCADE’. La clase ‘Fa o i osUsua io’ desempeña la ges ión de los inmuebles a o i os seleccionados po los usua ios egis ados. Es e modelo es ablece una elación di ec a en e los usua ios y los inmuebles a a és de dos cla es o áneas: una que conec a con el modelo de usua io ‘Cus omUse ’ y o a con el modelo de inmueble ‘AnuncioInmueble’. Ambas elaciones u ilizan la polí ica ‘on_dele e=models.CASCADE’, lo que signi ica que si un usua io o un inmueble se elimina de la base de da os, odos los egis os de a o i os asociados ambién se elimina án au omá icamen e. 51 La clase ‘Inmueble_ is o_ul ima_ ez’ egis a las isi as ecien es de usua ios a inmuebles lis ados en la pla a o ma. U iliza dos cla es o áneas pa a conec a cada isi a con el usua io co espondien e y el inmueble especí ico, aplicando una polí ica de ‘on_dele e=models.CASCADE’ que elimina au omá icamen e los egis os si se bo a un usua io o un inmueble. El campo ‘ echa_ul ima_ isi a’ cap u a el momen o exac o de la isi a. Además, la con igu ación ‘unique_ oge he = ('usua io', 'inmueble')’ en la clase ‘Me a’ asegu a la unicidad de cada egis o, e i ando duplicidades y pe mi iendo solo la ac ualización de la echa en isi as epe idas al mismo inmueble. La clase ‘Cha ’ encapsula la esencia de las con e saciones den o del sis ema. Es as in e acciones se es ablecen en e un usua io in e esado, conocido como clien e, y el p opie a io del inmueble que susci a in e és. Es impo an e des aca que únicamen e los usua ios clien es ienen la acul ad de inicia es as con e saciones. En la imagen xxx se isualiza cómo se incula un inmueble con dos usua ios que desempeñan oles di e en es. Es undamen al esal a que es as es condiciones, la asociación de un inmueble con dos usua ios de oles dis in os, son únicas y no se pueden epe i . Es deci , no hab á o o cha con los mismos usua ios elacionados con el mismo inmueble. Es o ga an iza la singula idad y la exclusi idad de cada con e sación den o del sis ema. 52 La clase ‘Mensaje’ desempeña un papel c ucial en el sis ema al incula un mensaje especí ico con su cha co espondien e. Además de almacena el con enido del mensaje en iado po un usua io, es e modelo ambién egis a la ho a exac a en que se en ió el mensaje. Es a uncionalidad ga an iza un egis o de allado y p eciso de odas las in e acciones en e los usua ios den o de un cha de e minado. 6.2.2 Sección del Adminis ado La sección adminis a i a de la aplicación se ha implemen ado a a és del po al adminis a i o p opo cionado po Django, comúnmen e conocido como 'Django Admin'. Es a in e az web de al o ni el pe mi e a los adminis ado es ges iona la base de da os sin la necesidad de esc ibi consul as SQL o código especí ico. Con igu ado po de ec o pa a sopo a ope aciones CRUD (C ea , Lee , Ac ualiza , Elimina ) en los modelos egis ados, el Django Admin ambién o ece opciones de pe sonalización según las necesidades especí icas de los modelos de la aplicación ( e sección 6.2.1). Pa a de alles sob e cómo accede y u iliza el po al del adminis ado , consul e la sección 8, donde se desc iben los p ocedimien os paso a paso. A con inuación, se p o undiza en las uncionalidades especí icas de la sección adminis a i a. 6.2.2.1 Ges ión de Usua ios En el panel de adminis ación de Django, pa a adecua la isualización y ges ión del modelo ‘Cus omUse ’, se ha implemen ado la clase ‘Cus omUse Admin’ que ex iende ‘Use Admin’. Es a con igu ación pe mi e adap a la in e az adminis a i a a las necesidades especí icas del modelo, incluyendo campos como email, elé ono, p o incia, y el es ado adminis a i o (is_s a ) di ec amen e en la is a de lis a de usua ios. Además, los 53 ieldse s y add_ ieldse s se han ampliado pa a inco po a los campos elé ono y p o incia en los o mula ios de edición y c eación, acili ando así una ges ión de allada y pe sonalizada de los usua ios en la aplicación. 6.2.2.1.1 Añadi Usua io En la sección dedicada a la ges ión de usua ios, el adminis ado iene la capacidad de añadi nue os usua ios a la aplicación desde el panel adminis a i o. Inicialmen e, se solici a in oduci un nomb e de usua io, que debe se único, jun o con una con aseña. Pos e io men e, es posible complemen a la in o mación del pe il con de alles adicionales como el co eo elec ónico, elé ono y p o incia. 6.2.2.1.2 Modi ica Usua io Pa a modi ica la in o mación de un usua io, el adminis ado debe hace clic en el email del usua io que desea edi a . Es o desplega á la in e az que se mues a en la imagen xxx. T as ealiza y con i ma los cambios necesa ios, el sis ema ac ualiza á au omá icamen e la in o mación al conclui el p oceso exi osamen e. 54 6.2.2.1.3 Elimina usua io Pa a elimina un usua io, se debe hace clic en el campo de email del usua io deseado. Después, se desplaza has a el inal de la página donde se encuen a el bo ón ojo si uado a la de echa ( e image xxx). Al pulsa lo, el sis ema solici a á con i mación y mos a á las in e acciones y obje os asociados al usua io ( e imagen xxx) 55 6.2.2.2 Ges ión de Inmuebles En el panel de adminis ación de Django, se ha pe sonalizado la isualización y ges ión del modelo 'AnuncioInmueble' a a és de la clase 'AnuncioInmuebleAdmin', la cual ex iende las uncionalidades de 'admin.ModelAdmin'. Es o pe mi e adap a la in e az adminis a i a según las necesidades especí icas del modelo. Es a con igu ación se e leja en la is a de anuncio inmuebles, donde se mues an campos impo an es como el ipo de inmueble, localidad, di ección, ipo de ope ación, p ecio, can idad de habi aciones, baños y supe icie del inmueble, jun o con el usua io asociado al anuncio. Además, se han habili ado il os pa a agiliza la búsqueda po ipo de inmueble, ipo de ope ación y localidad 56 6.2.2.2 1 Añadi Anuncio Inmueble En la sección dedicada a la ges ión de anuncios de inmuebles, el adminis ado iene la capacidad de añadi nue os inmuebles a la aplicación desde el panel adminis a i o. Los campos que se solici an son los con enidos en el modelo ‘AnuncioInmueble’ ( e imagen xxx) 6.2.2.2 3 Modi ica Anuncio Inmueble Pa a modi ica la in o mación de un inmueble, el adminis ado debe hace pulsa sob e el campo ‘ ipo de inmueble ’del inmueble que desea edi a . Es o desplega á la in e az que se mues a en la imagen xxx. T as ealiza y con i ma los cambios necesa ios, el sis ema ac ualiza á au omá icamen e la in o mación al conclui el p oceso exi osamen e. 57 6.2.2.4 Menú del usua io El menú del usua io egis ado eúne los p incipales casos de uso, pe mi iendo accede a odas las uncionalidades de la aplicación desde es a á ea. Funciona como una in e az cen alizada que acili a la expe iencia del usua io al in eg a odas las ca ac e ís icas cla e en un único pun o de acceso. Sección del código ele an e: Lo más des acable del código es el uso de la a iable ‘use name’. Cuando un usua io es á au en icado, su in o mación se almacena en un obje o ‘Use ’ p opo cionado po Django ( e imagen xxx) y ‘use name’ es uno de los campos de ese obje o que con iene el nomb e del usua io au en icado, pe mi iendo así una in e acción del sis ema más pe sonalizada. 64 6.2.2.5 Pe il de Usua io Los usua ios egis ados pueden accede a su pe il desde el menú del usua io ( e sección 6.2.2.4) pa a e y modi ica sus da os pe sonales (nomb e, elé ono, p o incia), cambia su con aseña ac ual, o elimina su cuen a con una con i mación p e ia. El sis ema no i ica á al usua io si los cambios no se ealizan co ec amen e, y en caso de éxi o, ac ualiza á la is a del pe il con los cambios ealizados. Po el con a io, si el usua io decide da se de baja en PisoPe ec o, el sis ema le edi igi á a la página p incipal ( e sección 6.2.2.1) y debe á c ea una nue a cuen a ( e sección 6.2.2.2) en caso de que e u iliza las uncionalidades de un usua io egis ado. 65 Sección del código ele an e: Es a sección del código es la que se enca ga de p ocesa y e i ica los da os en iados median e el mé odo de solici ud pos de los dis in os o mula ios de la imagen supe io . En caso de que los da os es én co ec os, el sis ema p ocede a ende iza de nue o la in e az del pe il. Imagen xxx → Ubicado en iews.py 66 6.2.2.6 Publica Inmueble La uncionalidad "Publica Anuncio" pe mi e a los usua ios c ea y compa i anuncios de p opiedades inmobilia ias en línea. Los usua ios comple an un o mula io con de alles del inmueble, que se alida y luego se gua da en la base de da os del sis ema. Los anuncios se 67 asocian con los usua ios y es án disponibles pa a que o os usua ios los ean en la pla a o ma. La unción publica anuncio es una is a de Django que p ocesa o mula ios pa a publica anuncios de inmuebles. Cuando se en ía un o mula io median e una solici ud POST, es a is a ecoge los da os del o mula io, gene a cla es únicas pa a iden i ica cada inmueble, gua da las imágenes adjun as en el se ido , alida los da os del o mula io, asocia el inmueble con el usua io que lo publica, y inalmen e lo gua da en la base de da os. Si hay 68 e o es en el o mula io, los imp ime pa a depu ación y mues a el o mula io nue amen e pa a co egi los. Una ez comple ado el p oceso, edi ige al usua io a la misma página 6.2.2.7 Ve Inmuebles usua io Un usua io egis ado puede encon a se an e dos posibles escena ios al isualiza sus inmuebles en la pla a o ma. En el p ime escena io, si no ha publicado ningún anuncio, el sis ema mues a un mensaje de ex o, como se ilus a en la imagen 1. En el segundo escena io, el usua io p e iamen e ha publicado anuncios de inmuebles, ( e sección 6.2.2.6). La imagen 2 ep esen a una simulación de dos anuncios ac i os. Es o pe mi e al p opie a io accede a la in o mación comple a de cada inmueble, incluyendo sus ca ac e ís icas especí icas. Adicionalmen e, se acili a la opción de edi a o elimina cada anuncio di ec amen e, sin necesidad de accede comple amen e al inmueble, ac i idad que se de alla en la sección 6.2.2.8 69 Sección del código ele an e En la imagen xxx, se mues a cómo el sis ema de PisoPe ec o adminis a la isualización de inmuebles subidos po los usua ios. Comienza con la iden i icación del usua io que ealiza la solici ud a a és de usua io = eques .use . Pos e io men e, se il an en la base de da os los inmuebles pe enecien es a dicho usua io median e el modelo AnuncioInmueble. Es os inmuebles son o ganizados en páginas po el obje o Pagina o , con igu ado pa a mos a cinco elemen os po página, op imizando así la ges ión y isualización de los da os. Al na ega a una página especí ica, el usua io especi ica el núme o de página a a és de un pa áme o en la URL, y los esul ados il ados se p esen an isualmen e en la in e az del usua io median e el empla e co espondien e. Imagen xxx → Ubicado en iews.py 70 6.2.2.8 Ve Inmueble usua io En la imagen 1 se mues a como ejemplo, la in e az p i ada a la que sólo iene acceso el p opie a io del inmueble. Es a in e az pe mi e al usua io p opie a io examina con mayo de alle la in o mación de un anuncio especí ico. Den o de las uncionalidades disponibles, el p opie a io puede elimina , modi ica el anuncio o isualiza las con e saciones asociadas al inmueble. Adicionalmen e, iene la capacidad de consul a cuán os usua ios han isualizado el inmueble y cuán os lo han incluido en su lis a de a o i os. Es a in e az ambién o ece al usua io la opo unidad de e i ica si el p ecio lis ado en el anuncio concue da con el alo ac ual de la i ienda. Sección del código ele an e: La unción inmueble_usua io en Django maneja la isualización de un inmueble especí ico pa a un usua io egis ado. P ime o, iden i ica al usua io y ecupe a odos sus anuncios de inmuebles. Luego localiza el inmueble especi icado po ‘inmueble_id’. También de e mina los inmuebles an e io y siguien e al ac ual pa a acili a la na egación. La unción ecolec a y p epa a los nomb es de a chi os de las imágenes asociadas al inmueble isualizado, ajus ando el o ma o de la desc ipción del inmueble pa a mos a co ec amen e los sal os 71 de línea en la in e az web. Finalmen e, odos es os da os se pasan a la plan illa inmueble_usua io.h ml pa a su p esen ación al usua io 6.2.2.9 Elimina Inmueble El p opie a io de un inmueble puede elimina lo en cualquie momen o a a és de las in e aces desc i as en las secciones 6.2.2.6 y 6.2.2.7. Al selecciona el bo ón de elimina , el sis ema solici a una con i mación a a és de un mensaje eme gen e. Si el p opie a io con i ma la eliminación, el anuncio se bo a á de ini i amen e y no pod á se ecupe ado bajo ninguna ci cuns ancia. En caso de que el p opie a io decida no con inua con la eliminación, simplemen e se ce a á el mensaje de con i mación y no se ealiza á ninguna acción adicional. 72 Sección del código ele an e: La unción ‘elimina _inmueble’ es la enca gada de ges iona la eliminación de un inmueble especí ico. Median e la unción ‘ge _objec _o _404’ el sis ema in en a ob ene el inmueble de la base de da os; si no exis e, au omá icamen e de uel e una espues a HTTP 404 (No ound). En caso de éxi o, se p ocede a e i ica si e ec i amen e el usua io quien ealiza la solici ud ‘ eques .use ’ es el mismo que el egis ado como p opie a io del inmueble (inmueble.usua io). Pos e io men e, el inmueble se elimina de la base de da os median e el mé odo dele e(). 73 Imagen xxx → Implemen ación del backend del cha , ubicado en cha / consume s.py 6.2.2.14 Mul ibuscado : ● FUNCIONALIDAD Es a Funcionalidad es un sis ema de búsqueda de p opiedades inmobilia ias. Los usua ios pueden usa un o mula io pa a ing esa c i e ios de búsqueda, como ubicación, p ecio y ipo de p opiedad. Cuando se en ía el o mula io, el sis ema mues a los esul ados coinciden es en a je as que incluyen de alles como la di ección, el p ecio y una imagen de la p opiedad. Los usua ios pueden na ega en e las páginas de esul ados y e más de alles de cada p opiedad haciendo clic en las a je as 80 ● CÓDIGO: ○ mul ibuscado .h ml 81 Es e o mula io HTML p opo ciona una in e az de usua io pa a busca inmuebles con il os especí icos. Los il os disponibles son pa a p ecio, supe icie, núme o de habi aciones y núme o de baños. Cada il o iene campos de en ada pa a es ablece alo es mínimos y máximos, y un bo ón pa a aplica los il os. El o mula io ambién incluye un campo de búsqueda pa a busca inmuebles po localidad, y un bo ón pa a es ablece odos los il os a sus alo es p ede e minados. ○ Views.py 82 Cla o, es a unción llamada mul ibuscado en Django maneja las solici udes GET pa a busca inmuebles según c i e ios como p ecios, supe icie, habi aciones, baños y localidad. Fil a los inmuebles disponibles en la base de da os según es os c i e ios, los mues a paginados en g upos de 5, y de uel e una espues a HTML que mues a los esul ados. 6.2.2.15 web sc aping: ● Código: ○ iews.py Es e código es una unción llamada Sc ap que ex ae in o mación de una lis a de URLs 83 almacenadas en un a chi o llamado "u ls. x ". Pa a cada URL en la lis a, ealiza una solici ud HTTP GET, analiza el con enido HTML de la página u ilizando Beau i ulSoup y ex ae in o mación de los elemen os <di > con la clase CSS "ad-p e iew__bo om". Luego, gua da las imágenes asociadas en una es uc u a de ca pe as en el sis ema de a chi os. Si hay algún e o en la solici ud HTTP, imp ime un mensaje de e o jun o con el código de es ado. La unción llamada download_and_sa e_image desca ga una imagen desde una URL especi icada y la gua da en una ca pe a especi icada en el sis ema de a chi os local. U iliza la biblio eca eques s pa a hace la solici ud de desca ga. Si la solici ud es exi osa (código de es ado 200), la unción c ea un a chi o en la ca pe a especi icada y gua da la imagen en o ma o bina io. La imagen se gua da con un nomb e que incluye un núme o y la ex ensión ".jpg". 84 85 Es a unción llamada sc ape_in o ex ae in o mación de allada de anuncios de inmuebles de una página web. Toma como en ada la URL del anuncio, el di que con iene la in o mación del anuncio y la ca pe a donde se gua da án las imágenes elacionadas con el anuncio. Luego, ealiza las siguien es acciones: 1. Ex ae el í ulo y la ubicación del anuncio. 2. Cons uye la URL comple a del anuncio. 3. Busca in o mación sob e el núme o de habi aciones, baños y supe icie del inmueble. 4. Desca ga las imágenes asociadas con el anuncio y las gua da en la ca pe a especi icada. 5. Ob iene el p ecio y la desc ipción del inmueble desde la página del anuncio. 6. Esc ibe la in o mación del inmueble en un a chi o de ex o llamado 'neu onal. x '. 7. Gua da la in o mación del inmueble en la base de da os si no exis e p e iamen e un inmueble con la misma cla e. 8. Asocia el inmueble con un usua io y lo gua da en la base de da os. Finalmen e, imp ime la in o mación del inmueble y un sepa ado en e cada elemen o p ocesado. 6.2.2.16 Mapa: ● FUNCIONALIDAD La uncionalidad del mapa se basa en la isualización de un mapa. Se u iliza un a chi o de imagen que ep esen a el mapa, y es a imagen se mues a en la página web cuando los usua ios acceden a la is a co espondien e. El mapa puede ene á eas in e ac i as que los usua ios pueden explo a al pasa el cu so sob e ellas. Además, las á eas del mapa pueden se enlaces que edi igen a páginas especí icas cuando se hace clic en 86 ellas. ● CÓDIGO: ○ mapa.h ml Es e código HTML de ine un mapa in e ac i o con á eas clicables que ep esen an ubicaciones especí icas. U iliza imágenes y á eas de mapa pa a pe mi i a los usua ios hace clic en di e en es pa es del mapa y accede a in o mación de allada sob e esas ubicaciones. Es e código Ja aSc ip se enca ga de maneja e en os sob e un mapa in e ac i o. Cuando el cu so se desplaza sob e un á ea del mapa, se dibuja un polígono esal ando esa á ea. Cuando el cu so sale del á ea, se limpia el polígono. Además, al hace clic en un á ea del mapa, se edi ige al usua io a una URL especí ica elacionada con esa á ea. ○ iews.py 87 Es a unción mapa es una is a en Django que ende iza una plan illa HTML llamada 'mapa.h ml'. En es a plan illa, se pasa la URL de una imagen del mapa como con ex o u ilizando la a iable u l_imagen. Luego, es a URL se u iliza en la plan illa pa a mos a la imagen del mapa en el na egado . 6.2.2.17 Tasado : ● FUNCIONALIDAD El asado es una unción que u iliza una ed neu onal en enada pa a es ima el p ecio de una i ienda. Es a unción ecibe como en ada las ca ac e ís icas de la i ienda, como el núme o de habi aciones, el núme o de baños y la supe icie, y de uel e una es imación del p ecio. La ed neu onal ha sido en enada p e iamen e con da os de i iendas, u ilizando un algo i mo de ap endizaje pa a ajus a los pesos y sesgos de la ed. Cuando se solici a una es imación de p ecio pa a una i ienda especí ica, el asado u iliza los pa áme os ap endidos du an e el en enamien o pa a ealiza la es imación. Si la ed neu onal no ha sido en enada o si al an ca ac e ís icas de en ada, el asado de uel e un mensaje de e o . En esumen, el asado p opo ciona una he amien a au oma izada pa a es ima el p ecio de una i ienda basándose en sus ca ac e ís icas. ● CÓDIGO: ○ asado .h ml Es e código es una plan illa HTML que ex iende de o a plan illa base. De ine un o mula io donde los usua ios pueden ing esa in o mación sob e un inmueble, como el núme o de habi aciones, baños y supe icie. Al hace clic en el bo ón "Calcula ", se ejecu a una unción 88 de Ja aSc ip que alida los campos y cons uye una URL con los pa áme os de il o. Luego, edi ige a la página de búsqueda con los il os aplicados. ○ iews.py La unción Ap endizaje_Red_Neu onal en ena la ed neu onal u ilizando los da os del a chi o "neu onal. x ". Los da os se no malizan u ilizando z-sco e no maliza ion y luego se aplica un algo i mo de descenso de g adien e pa a calcula los pesos (w_global) y el sesgo (b_global) de la ed. La unción un de ine la unción de p edicción de la ed neu onal, que u iliza los pesos y el sesgo calculados pa a ealiza la p edicción. La is a asado de Django ecibe la in o mación sob e el núme o de habi aciones, baños y 89 Capí ulo 9 - Bibliog a ía [1] Idealis a: h ps://www.idealis a.com/ [2] Fo ocasa : h ps://www. o ocasa.es/es/ [3] Pisos.com: h ps://www.pisos.com/ [4] Yaencon e : h ps://www.yaencon e.com/ [5] T o imap: h ps://www. o imap.com/ [6] Habi aclia:h ps://www.habi aclia.com/ [7] HTML: h ps://es.wikipedia.o g/wiki/HTML [8] CSS : h ps://es.wikipedia.o g/wiki/CSS [9] Py hon: h ps://es.wikipedia.o g/wiki/Py hon [10] Beau i ulSoup: h ps://ap endepy hon.es/pypi/sc aping/beau i ulsoup/ [11] NumPy: h ps://numpy.o g/abou / [12] Vi ualen : h ps:// i ualen .pypa.io/en/la es / [13] Django: h ps://www.djangop ojec .com/s a /o e iew/ [14] SQLi e: h ps://www.sqli e.o g/ [15] Visual S udio Code : h ps://code. isuals udio.com/ 96