scieee Science in your language
[es] (orig)

Desarrollo de un multibuscador de compra-venta de pisos

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.

Read accessible full text

Desarrollo de un multibuscador de compra-venta de pisos

Author: Álvarez Acarregui, Diego; Vicente Martínez, Adriana
Year: 2024
Source: https://docta.ucm.es/bitstreams/61244dcf-ad1b-41a9-a3c4-c598c738c299/download
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