scieee Science in your language
[es] (orig)

Desarrollo de una aplicación para la gestión de búsquedas de científicos y organismos

Abstract

Este proyecto surge de la necesidad de crear un espacio donde los científicos de todo el mundo puedan encontrar proyectos apasionantes en los que poder participar y, al mismo tiempo, donde los organismos puedan publicar sus proyectos y encontrar científicos cualificados para poder hacerlos realidad. Actualmente, existen una gran cantidad de plataformas donde poder encontrar empleo de cualquier tipo y para cualquier profesión. Sin embargo, en este trabajo de fin de grado se ha desarrollado un sistema con el objetivo de centralizar a todos los científicos y organismos científicos en un entorno donde poder encontrarse y colaborar de forma más accesible. Para ello, cada científico puede realizar una publicación y cada organismo puede publicar sus proyectos. De esta manera, el científico puede recibir recomendaciones de proyectos en los que poder participar y el organismo puede recibir recomendaciones de científicos que pueden incorporarse a sus proyectos.

Read accessible full text

Desarrollo de una aplicación para la gestión de búsquedas de científicos y organismos

Author: Herrera García, Alberto; Lima Mendia, Gerald
Year: 2023
Source: https://docta.ucm.es/bitstreams/f3558053-4846-458e-845f-d8658ea4856a/download
DESARROLLO DE UNA APLICACIÓN PARA LA
GESTIÓN DE BÚSQUEDAS DE CIENTÍFICOS Y
ORGANISMOS
TRABAJO FIN DE GRADO
CURSO 2022-2023
ALBERTO HERRERA GARCÍA
GERALD LIMA MENDIA
DIRECTORES:
ANTONIO SARASA CABEZUELO
COVADONGA DÍEZ SANMARTÍN
GRADO EN INGENIERÍA INFORMÁTICA
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
Sep iemb e 2023
DEVELOPMENT OF AN APPLICATION FOR THE
SEARCH MANAGEMENT OF SCIENTISTS AND
ORGANIZATIONS
FINAL DEGREE PROJECT REPORT
COMPUTER ENGINEERING DEGREE
AUTHORS:
ALBERTO HERRERA GARCÍA
GERALD LIMA MENDIA
DIRECTED BY
ANTONIO SARASA CABEZUELO
COVADONGA DÍEZ SANMARTÍN
COMPUTER ENGINEERING DEGREE
FACULTY OF COMPUTER SCIENCE
COMPLUTENSE UNIVERSITY OF MADRID
SEPTEMBER 2023
A odos nues os se es que idos,
que nos animan a segui luchando
po nues os sueños.
2
AGRADECIMIENTOS
En p ime luga , nos gus a ía da las g acias a nues os di ec o es de p oyec o, An onio
Sa asa y Co adonga Díez, quienes nos die on la opo unidad de ealiza es e abajo.
Así mismo, que emos ag adece a nues as mad es An onia y Angélica, y a nues os
pad es An onio y Ge mán odo el apoyo incondicional que nos lle áis dando oda la ida.
A nues os he manos Se gio y Jhoel y a nues as he manas Ca olina y Jessica, que se
han in e esado y p eocupado po noso os en odo momen o.
A nues as abuelas Ru ina y Ma a que son nues os eso os y siemp e quie en lo mejo
pa a noso os.
Y po úl imo a los abuelos Ginés, An onio y Gabina quienes, a pesa de no pode es a
en es e momen o de nues a ida pe sonal y es udian il, nos dedica on odo su iempo,
es ue zo y ca iño a con e i nos en las pe sonas que somos y se emos en el u u o.
3
RESUMEN
Es e p oyec o su ge de la necesidad de c ea un espacio donde los cien í icos de odo el
mundo puedan encon a p oyec os apasionan es en los que pode pa icipa y, al mismo
iempo, donde los o ganismos puedan publica sus p oyec os y encon a cien í icos
cuali icados pa a pode hace los ealidad.
Ac ualmen e, exis en una g an can idad de pla a o mas donde pode encon a empleo
de cualquie ipo y pa a cualquie p o esión. Sin emba go, en es e abajo de in de g ado se ha
desa ollado un sis ema con el obje i o de cen aliza a odos los cien í icos y o ganismos
cien í icos en un en o no donde pode encon a se y colabo a de o ma más accesible. Pa a
ello, cada cien í ico puede ealiza una publicación y cada o ganismo puede publica sus
p oyec os. De es a mane a, el cien í ico puede ecibi ecomendaciones de p oyec os en los
que pode pa icipa y el o ganismo puede ecibi ecomendaciones de cien í icos que pueden
inco po a se a sus p oyec os.
Palab as cla e
Ciencia, cien í ico, o ganismo, p oyec o cien í ico, in es igación y aplicación web.
4

ABSTRACT
This p ojec a ises om he need o c ea e a space whe e scien is s om all o e he
wo ld can ind exci ing p ojec s in which hey can pa icipa e and, a he same ime, whe e
o ganiza ions can publish hei p ojec s and ind quali ied scien is s o make hem a eali y.
Cu en ly, he e a e a la ge numbe o pla o ms whe e you can ind employmen o any
kind and o any p o ession. Howe e , in his inal deg ee p ojec , a sys em has been de eloped
wi h he aim o cen alizing all scien is s and scien i ic o ganiza ions in an en i onmen whe e
hey can mee and collabo a e in a mo e accessible way. To do his, each scien is can make a
publica ion and each o ganism can publish i s p ojec s. In his way, he scien is can ecei e
ecommenda ions o p ojec s in which he can pa icipa e and he o ganism can ecei e
ecommenda ions om scien is s who can join his p ojec s.
Keywo ds
Science, scien is , o ganism, scien i ic p ojec , esea ch and web applica ion.
5
ÍNDICE DE CONTENIDOS
Capí ulo 1 - In oducción......................................................................................................... 1
1.1 Mo i ación........................................................................................................................1
1.2 Obje i os...........................................................................................................................2
1.3 Es uc u a de la memo ia............................................................................................... 2
1.4 Me odología.....................................................................................................................4
1.4.1 Plani icación del p oyec o.................................................................................... 4
1.4.2 O ganización del abajo...................................................................................... 5
Chap e 1 - In oduc ion............................................................................................................ 6
1.1 Mo i a ion.........................................................................................................................6
1.2 Goals................................................................................................................................. 7
1.3 S uc u e o he epo .....................................................................................................7
1.4 Me hodology....................................................................................................................9
1.4.1 P ojec planning......................................................................................................9
1.4.2 Wo k plan...............................................................................................................10
Capí ulo 2 - Es ado del a e....................................................................................................12
2.1 Resea chGa e................................................................................................................12
2.2 Academia.edu.............................................................................................................. 12
2.3 Mendeley........................................................................................................................13
2.4 SciP o iles.........................................................................................................................13
Capí ulo 3 - Tecnología empleada.......................................................................................14
3.1 Angula ............................................................................................................................14
3.2 Boo s ap.........................................................................................................................15
3.3 CSS...................................................................................................................................15
3.4 DBea e .......................................................................................................................... 15
3.5 Fi ebase...........................................................................................................................16
3.6 Gi .................................................................................................................................... 16
3.7 Gi Hub............................................................................................................................. 16
3.8 HTML................................................................................................................................ 17
3.9 Ja a Sp ing Boo ............................................................................................................17
3.10 Node.js.......................................................................................................................... 17
6
3.11 NPM............................................................................................................................... 18
3.12 Pos g eSQL....................................................................................................................18
3.13 Pos man........................................................................................................................ 18
3.14 Visual S udio Code...................................................................................................... 19
Capí ulo 4 - Especi icación de equisi os.............................................................................. 20
4.1 Ac o es............................................................................................................................20
4.2 Módulos uncionales..................................................................................................... 20
4.2.1 Módulo Cien í ico................................................................................................. 21
4.2.2 Módulo O ganismo...............................................................................................31
4.2.3 Módulo Adminis ado ..........................................................................................40
4.2.4 Módulo Cuen a.....................................................................................................53
Capí ulo 5 - A qui ec u a y modelo de da os.......................................................................60
5.1 A qui ec u a y modelo de la aplicación....................................................................60
5.2 Pa ones de diseño........................................................................................................61
5.2.1 Capa de p esen ación........................................................................................ 61
5.2.2 Capa de negocio.................................................................................................62
5.3 Modelo de da os...........................................................................................................64
5.3.1 Modelo En idad-Relación....................................................................................64
5.3.2 Implemen ación de la base de da os...............................................................65
5.3.2.1 Usua io...........................................................................................................65
5.3.2.2 Cien í ico.......................................................................................................66
5.3.2.3 O ganismo.................................................................................................... 67
5.3.2.4 Publicación...................................................................................................68
5.3.2.5 P oyec o........................................................................................................69
5.3.2.6 Asignación....................................................................................................71
Capí ulo 6 - Diseño y uncionalidades...................................................................................72
6.1 Es ilos...............................................................................................................................72
6.2 Funcionalidades de la aplicación...............................................................................74
6.2.1 Regis o de usua io............................................................................................... 76
6.2.2 Inicio de sesión......................................................................................................79
6.2.3 Módulo Cien í ico................................................................................................. 82
6.2.3.1 C ea publicación........................................................................................82
6.2.3.2 Mis publicaciones........................................................................................ 83
7
6.2.3.3 Edi a publicación........................................................................................84
6.2.3.4 Elimina publicación.................................................................................... 86
6.2.3.5 Busca o ganismo.........................................................................................87
6.2.3.6 Recomendaciones de p oyec os..............................................................90
6.2.4 O ganismo............................................................................................................. 91
6.2.4.1 Publica p oyec o........................................................................................ 91
6.2.4.2 Mis p oyec os................................................................................................92
6.2.4.3 Edi a p oyec o............................................................................................ 93
6.2.4.4 Elimina p oyec o......................................................................................... 96
6.2.4.5 Busca cien í ico...........................................................................................97
6.2.4.6 Recomendaciones de cien í icos..............................................................98
6.2.9 Adminis ado ........................................................................................................ 99
6.2.9.1 Lis a publicaciones..................................................................................... 99
6.2.9.2 Edi a publicación......................................................................................100
6.2.9.3 Elimina publicación.................................................................................. 102
6.2.9.4 Reac i a publicación...............................................................................104
6.2.9.5 Lis a usua ios.............................................................................................. 105
6.2.9.6 Edi a usua io.............................................................................................. 106
6.2.9.7 Elimina usua io...........................................................................................110
6.2.9.8 Reac i a usua io....................................................................................... 112
6.2.9.9 Lis a p oyec os.......................................................................................... 114
6.2.9.10 Edi a p oyec o........................................................................................ 115
6.2.9.11 Elimina p oyec o..................................................................................... 117
6.2.9.12 Reac i a p oyec o..................................................................................118
6.3 API REST........................................................................................................................ 119
6.3.1 Regis o.................................................................................................................122
6.3.2 Cien í ico..............................................................................................................122
6.3.3 O ganismo........................................................................................................... 124
6.3.4 Publicación..........................................................................................................125
6.3.5 P oyec os............................................................................................................. 127
Capí ulo 7 - Conclusiones y T abajo u u o......................................................................... 129
7.1 Conclusiones................................................................................................................ 129
7.2 T abajo u u o............................................................................................................... 130
8
Figu a 36: Reac i a o ganismo............................................................................................. 165
Figu a 37: Lis a odos p oyec os............................................................................................166
Figu a 38: Edi a p oyec o.......................................................................................................167
Figu a 39: Elimina p oyec o................................................................................................... 167
Figu a 40: Reac i a p oyec o................................................................................................168
15

ÍNDICE DE TABLAS
Tabla 4.1: Caso de uso - Cien í ico - C ea publicación.......................................................22
Tabla 4.2: Caso de uso - Cien í ico - Lis a publicaciones.................................................... 23
Tabla 4.3: Caso de uso - Cien í ico - Edi a publicación.......................................................24
Tabla 4.4: Caso de uso - Cien í ico - Elimina publicación................................................... 25
Tabla 4.5: Caso de uso - Cien í ico - Busca publicación.....................................................26
Tabla 4.6: Caso de uso - Cien í ico - Busca o ganismo........................................................27
Tabla 4.7: Caso de uso - Cien í ico - Mi p oyec o................................................................. 28
Tabla 4.8: Caso de uso - Cien í ico - Mos a p oyec o........................................................ 29
Tabla 4.9: Caso de uso - Cien í ico - Recomendaciones de p oyec os.............................30
Tabla 4.10: Caso de uso - O ganismo - Publica p oyec o...................................................32
Tabla 4.11: Caso de uso - O ganismo - Lis a p oyec os.......................................................33
Tabla 4.12: Caso de uso - O ganismo - Edi a p oyec o.......................................................34
Tabla 4.13: Caso de uso - O ganismo - Elimina p oyec o....................................................35
Tabla 4.14: Caso de uso - O ganismo - Busca p oyec o..................................................... 36
Tabla 4.15: Caso de uso - O ganismo - Busca cien í ico..................................................... 37
Tabla 4.16: Caso de uso - O ganismo - Mos a cien í ico....................................................38
Tabla 4.17: Caso de uso - O ganismo - Recomendaciones de cien í icos........................ 39
Tabla 4.18: Caso de uso - Adminis ado - Lis a odas publicaciones................................41
Tabla 4.19: Caso de uso - Adminis ado - Edi a publicación............................................. 42
Tabla 4.20: Caso de uso - Adminis ado - Elimina publicación..........................................43
Tabla 4.21: Caso de uso - Adminis ado - Reac i a publicación...................................... 44
Tabla 4.22: Caso de uso - Adminis ado - Lis a odos usua ios...........................................45
Tabla 4.23: Caso de uso - Adminis ado - Edi a usua io......................................................46
Tabla 4.24: Caso de uso - Adminis ado - Elimina usua io.................................................. 47
Tabla 4.25: Caso de uso - Adminis ado - Reac i a usua io...............................................48
Tabla 4.26: Caso de uso - Adminis ado - Lis a odos p oyec os....................................... 49
Tabla 4.27: Caso de uso - Adminis ado - Edi a p oyec o..................................................50
Tabla 4.28: Caso de uso - Adminis ado - Elimina p oyec o...............................................51
Tabla 4.29: Caso de uso - Adminis ado - Reac i a p oyec o...........................................52
Tabla 4.30: Caso de uso - Cuen a - Regis a usua io........................................................... 54
16
Tabla 4.31: Caso de uso - Cuen a - Inicia sesión.................................................................. 55
Tabla 4.32: Caso de uso - Cuen a - Ve pe il........................................................................ 56
Tabla 4.33: Caso de uso - Cuen a - Edi a pe il.................................................................... 57
Tabla 4.34: Caso de uso - Cuen a - Mos a FAQ.................................................................. 58
Tabla 4.35: Caso de uso - Cuen a - Mos a con ac o......................................................... 59
Tabla 6.1: Endpoin API Regis o.............................................................................................122
Tabla 6.2: Endpoin s API Cien í icos.......................................................................................124
Tabla 6.3: Endpoin s API O ganismos.................................................................................... 125
Tabla 6.4: Endpoin s API Publicaciones.................................................................................127
Tabla 6.5: Endpoin API P oyec os......................................................................................... 128
17
Capí ulo 1 - In oducción
En es e capí ulo uno de la memo ia, se p ocede a o ece , en p ime a ins ancia, una
explicación ace ca de la mo i ación de desa olla la aplicación y cuáles han sido sus obje i os.
Pos e io men e, se p opo ciona una desc ipción an o de la es uc u a po capí ulos de la
memo ia como de la me odología ealizada pa a elabo a la aplicación y su consecuen e
o ganización del abajo.
1.1 Mo i ación
En el en o no cien í ico ac ual, la iden i icación y selección de p oyec os que se ajus en
a las necesidades y me as de los cien í icos de mane a p ecisa y la búsqueda e icien e de
p o esionales cien í icos po pa e de los o ganismos públicos y p i ados ep esen an un
p oblema pa a ambas en idades. Es e p oblema se acen úa aún más en la ac ualidad debido a
que las á eas de in es igación cada ez son más complejas y los pe iles p o esionales en el
ámbi o cien í ico son cada ez más di e sos. Es as dos si uaciones ealmen e di icul an la
asociación en e los cien í icos y los p oyec os que o ecen los o ganismos.
Una mane a e ec i a de abo da es e p oblema pod ía se median e la consecución de
una pla a o ma que si a como pun o de encuen o en e los cien í icos y los o ganismos.
Pa a a a de esol e el p oblema, se plan ea el desa ollo de una pla a o ma web que
ac úe como un espacio colabo a i o en e cien í icos y o ganismos. La pla a o ma debe in eg a
una base de da os su icien emen e amplia como pa a pode almacena publicaciones de
cien í icos y p oyec os de los o ganismos. En ella, los cien í icos se án capaces de busca
p oyec os que se alineen con sus in e eses y habilidades y, al mismo iempo, los o ganismos
pod án publica sus p oyec os de alladamen e, especi icando sus obje i os y equisi os. La
c eación de es a pla a o ma web omen a ía la colabo ación in e disciplina ia y con ibui ía al
a ance de la ciencia y las in es igaciones cien í icas.
1
1.2 Obje i os
El obje i o p incipal de es e p oyec o e a desa olla una pla a o ma que pe mi ie a la
ges ión de búsquedas de cien í icos y p oyec os.
A con inuación se enume an, de mane a más p ecisa, los obje i os especí icos plan eados en
el p oyec o:
1.- Desa olla una aplicación web que pe mi a a los cien í icos ealiza publicaciones
pa a pode encon a el p oyec o que cub a sus necesidades y que, al mismo iempo, pe mi a a
los o ganismos localiza e ec i os pa a lle a a cabo sus p oyec os.
2.- Desa olla una API REST que eciba pe iciones desde la aplicación web y que
incluya oda la lógica de negocio.
3.- Facili a al adminis ado de la aplicación el con ol o al sob e los usua ios,
publicaciones de los cien í icos y p oyec os de los o ganismos.
1.3 Es uc u a de la memo ia
Es a memo ia se encuen a es uc u ada po capí ulos según cada una de los apa ados
que con o man la aplicación:
Capí ulo 1: In oducción
En es e capí ulo se ealiza una in oducción del abajo e ec uado, así como su
mo i ación y sus obje i os. También se ealiza una desc ipción de la es uc u a de la memo ia y
se a a la me odología empleada pa a el desa ollo del p oyec o, la plani icación del p oyec o y
la o ganización del abajo.
Capí ulo 2: Es ado del a e
En es e capí ulo se ealiza una e isión y una b e e explicación de algunos p og amas y
aplicaciones ya exis en es que engan una uncionalidad simila a la aplicación desa ollada en
2
es e abajo.
Capí ulo 3: Tecnología empleada
En es e capí ulo se abo da una a una odas las ecnologías que han sido necesa ias y
que se han empleado pa a la implemen ación de la aplicación.
Capí ulo 4: Especi icación de equisi os
En es e capí ulo se a a la especi icación de equisi os de la aplicación. Es e capí ulo se
cen a en los es ac o es p incipales de la aplicación: cien í ico, o ganismo y adminis ado , así
como en sus casos de uso di ididos en módulos uncionales.
Capí ulo 5: A qui ec u a y modelo de da os
Es e capí ulo a a sob e la a qui ec u a empleada pa a o ma la aplicación y los
pa ones de diseño u ilizados pa a ello. Además, se de alla el p oceso median e el cual se
ob iene la pe sis encia de la in o mación que maneja la aplicación. Se expone el diag ama
en idad- elación y se explica su implemen ación en la base de da os elacional.
Capí ulo 6: Diseño y uncionalidades
Es e capí ulo desc ibe el diseño y las uncionalidades de la aplicación sepa ando la
aplicación web del se icio API REST.
Capí ulo 7: Conclusiones y abajo u u o
En es e capí ulo se exponen las conclusiones de la ealización del abajo y se plan ea
la di ección pa a el desa ollo del abajo u u o.
Capí ulo 8: Con ibuciones al p oyec o
En es e capí ulo se desa ollan, indi idualmen e, las con ibuciones al p oyec o po pa e
de cada uno de los miemb os del abajo.
3

Capí ulo 9: Bibliog a ía
Es e capí ulo incluye odos los ecu sos, enlaces y e e encias que han sido necesa ias
u iliza pa a la consecución del p oyec o.
Capí ulo 10: Apéndices
En es e úl imo capí ulo se p opo ciona la guía de uso de la aplicación web.
1.4 Me odología
El desa ollo del abajo se ha ealizado según la plani icación del p oyec o y
o ganización de abajo que se expone en el siguien e apa ado.
1.4.1 Plani icación del p oyec o
La plani icación del p oyec o iene dada po un o al de cua o ases.
1. In es igación y cap u a de equisi os
En es a ase inicial, se ha lle ado a cabo una in es igación ace ca del p oblema a
esol e . Es o implicaba la iden i icación de ca ac e ís icas, uncionalidades y es icciones que
enían impac o en el diseño y desa ollo del p oyec o. Toda es a in o mación ue ecogida en la
especi icación de equisi os.
2. Desa ollo de la aplicación
En es a ase, el equipo de abajo desa olló el código uen e que con o ma la aplicación
siguiendo las especi icaciones y es icciones in es igadas en la ase an e io .
El desa ollo del p oyec o ue di idido en a ios hi os:
● Hi o Inicial: C eación del p oyec o ( on -end y backend), gene ación de la base de
da os y sus en idades, y desa ollo las uncionalidades de: Regis o de usua io e Inicio
de sesión.
● P ime Hi o: Desa ollo de las siguien es uncionalidades de cien í ico: C ea , edi a ,
elimina , busca y lis a publicaciones.
● Segundo Hi o: Desa ollo de las siguien es uncionalidades de o ganismo: Publica ,
edi a y elimina p oyec o, busca cien í ico y ecomendaciones de cien í icos.
4
● Te ce Hi o: Desa ollo de las uncionalidades de cien í ico: Busca o ganismo y
ecomendaciones de p oyec os.
● Cua o Hi o: Desa ollo de las uncionalidades de adminis ado : Lis a , edi a , elimina y
eac i a publicaciones, usua ios y p oyec os.
3. P uebas
Es a ase se ha ealizado de mane a conjun a con el desa ollo del p oyec o.
En ella, los miemb os del equipo de desa ollo han adop ado un en oque
p oac i o ga an izando que cada uncionalidad nue a o co egida unciona a
según lo es ablecido an es de a anza a la desa olla la siguien e. Es a
es a egia con ibuyó a la es abilidad gene al del so wa e que se es aba
desa ollando.
4. Desa ollo de la memo ia
Es a úl ima ase se ha lle ado a cabo una ez inalizado el desa ollo de la
aplicación y ha implicado la documen ación comple a de odo el desa ollo del
p oyec o.
1.4.2 O ganización del abajo
Pa a la ealización del abajo se ha aplicado una me odología de abajo i e a i a inc emen al.
Cada i e ación ha enido una du ación ap oximada de dos semanas. Cada dos semanas, se ha
ealizado una eunión i ual a a és de ideollamada en la que se han alidado y p obado las
uncionalidades que han conseguido desa olla se y se han ijado nue os obje i os pa a la
semana siguien e.
Como el amaño del equipo de abajo ha sido únicamen e de dos pe sonas, ambos
miemb os del equipo han es ado en con ac o di ec o dia iamen e a lo la go de las semanas ía
mensaje ía ins an ánea. De es a mane a, la comunicación en e los dos ha sido muy luida y ha
pe mi ido ob ene y p opo ciona eedback de mane a con inua. G acias a es o, ha sido posible
a a en cues ión de ho as cualquie ipo de incon enien e o duda que ha su gido du an e el
desa ollo.
5
Chap e 1 - In oduc ion
In his chap e one o he epo , we p oceed o o e , in he i s ins ance, an explana ion
abou he mo i a ion o de elop he applica ion and wha i s objec i es ha e been.
Subsequen ly, a desc ip ion is p o ided bo h o he s uc u e by chap e s o he epo and o
he me hodology used o de elop he applica ion and i s consequen o ganiza ion o wo k.
1.1 Mo i a ion
In he cu en scien i ic en i onmen , he iden i ica ion and selec ion o p ojec s ha i he
needs and goals o scien is s in a p ecise manne and he e icien sea ch o scien i ic
p o essionals by public and p i a e o ganiza ions ep esen a p oblem o bo h en i ies. This
p oblem is accen ua ed e en mo e oday because he a eas o esea ch a e inc easingly
complex and p o essional p o iles in he scien i ic ield a e inc easingly di e se. These wo
si ua ions eally make i di icul o scien is s o pa ne wi h he p ojec s o e ed by o ganisms.
An e ec i e way o add ess his p oblem could be by achie ing a pla o m ha se es as
a mee ing poin be ween scien is s and o ganisms.
To y o sol e he p oblem, he de elopmen o a web pla o m ha ac s as a
collabo a i e space be ween scien is s and o ganisms is p oposed. The pla o m should
in eg a e a da abase la ge enough o be able o s o e publica ions o scien is s and p ojec s o
he agencies. In i , scien is s will be able o sea ch o p ojec s ha align wi h hei in e es s and
skills and, a he same ime, agencies will be able o publish hei p ojec s in de ail, speci ying
hei objec i es and equi emen s. The c ea ion o his web pla o m would os e
in e disciplina y collabo a ion and con ibu e o he ad ancemen o science and scien i ic
esea ch.
6
1.2 Goals
The main objec i e o his p ojec was o de elop a pla o m ha would allow he
managemen o sea ches o scien is s and p ojec s.
The speci ic objec i es se ou in he p ojec a e lis ed mo e p ecisely below:
1.- De elop a web applica ion ha allows scien is s o make publica ions in o de o ind
he p ojec ha mee s hei needs and, a he same ime, allows agencies o loca e pe sonnel o
ca y ou hei p ojec s.
2.- De elop a REST API ha ecei es eques s om he web applica ion and includes all
he business logic.
3.- P o ide he adminis a o o he applica ion wi h o al con ol o e use s, publica ions
o scien is s and p ojec s o o ganiza ions.
1.3 S uc u e o he epo
This epo is s uc u ed by chap e s acco ding o each o he sec ions ha make up he
applica ion:
Chap e 1: In oduc ion
This chap e in oduces he wo k done, as well as i s mo i a ion and objec i es. I also
desc ibes he s uc u e o he epo and discusses he me hodology used o he de elopmen
o he p ojec , he planning o he p ojec and he o ganiza ion o wo k.
7
Capí ulo 3 - Tecnología empleada
En es e capí ulo, se p opo ciona una desc ipción ace ca de odas las ecnologías que
han sido u ilizadas du an e el desa ollo del abajo, o denadas po o den al abé ico.
3.1 Angula
Es un amewo k de desa ollo de aplicaciones web c eado po Google [5]. Se basa en
el lenguaje de p og amación TypeSc ip y o ece un en oque modula es uc u ado pa a
desa olla aplicaciones web dinámicas de una sóla página (Single-page applica ion). Angula
o ece un desa ollo basado en componen es, implemen a el pa ón Modelo-Vis a-Modelo de
is a (Model-View-ViewModel) y p opo ciona he amien as pa a ges iona el es ado de la
aplicación, en u amien o, comunicación con se ido es y manipulación del DOM (Documen
Objec Model).
Angula p opo ciona ambién su p opio sis ema de ges ión de pe iciones HTTP a a és
del módulo H pClien que o ma pa e de @angula /common/h p. Es e módulo pe mi e ealiza
pe iciones HTTP de una o ma e icien e a se ido es emo os [6]. Además, pe mi e maneja
espues as, ges iona e o es y ealiza ans o maciones de da os.
O a he amien a que u iliza Angula es Angula CLI. Es una in e az de línea de
comandos (Command Line In e ace) basada en Node.js que simpli ica y agiliza el desa ollo de
aplicaciones Angula [7]. Facili a la c eación de componen es, módulos y se icios así como la
compilación y la ejecución de p uebas.
Pa a el desa ollo del abajo se ha u ilizado la e sión 16.1.8 an o de Angula como de
Angula CLI.
14

3.2 Boo s ap
Es un amewo k u ilizado en diseño F on -End. Boo s ap p opo ciona un conjun o de
clases y componen es con es ilos p ediseñados y u ilidades que acili an la c eación de
in e aces de usua io esponsi e y a ac i as [8]. Su p incipal u ilidad es la de es anda iza y
agiliza la c eación de in e aces web.
La e sión de Boo s ap u ilizada pa a hace las in e aces de la aplicación web del
abajo ha sido la e sión 5.3.1.
3.3 CSS
CSS (Cascading S yle Shee s) es un lenguaje de diseño u ilizado pa a ges iona la
p esen ación y aspec o isual de los documen os HTML y XML de una página web [9] . CSS
pe mi e sepa a la es uc u a del con enido de la página de su diseño y apa iencia. Pa a ello,
u iliza una se ie de selec o es y eglas que de inen cómo se deben isualiza los elemen os
HTML en cuan o a posicionamien o, má genes, colo es, uen e, e c.
La e sión de CSS u ilizada en el abajo ha sido CSS3.
3.4 DBea e
Es una he amien a de ges ión de bases de da os. Pe mi e abaja con una g an
a iedad de sis emas de ges ión de bases de da os (SGBD oDBMS,Da abase Managemen
Sys em) o eciendo una in e az g á ica e incluyendo sopo e mul ipla a o ma [10]. En él, los
desa ollado es pueden ges iona bases de da os, ealiza consul as SQL, a a da os, diseña
esquemas, e c.
El sis ema de ges ión de bases de da os u ilizado en el abajo ha sido Pos g eSQL.
15
3.5 Fi ebase
Es una pla a o ma de desa ollo de aplicaciones web y mó iles en la nube. Es o ecida
po Google, es á in eg ada y espaldada po Google Cloud Pla o m (GCP) y p opo ciona una
g an a iedad de se icios que pueden se de u ilidad du an e el desa ollo de una aplicación
mó il o de una aplicación web [11]. Algunos ejemplos de es os se icios son: Au hen ica ion
(au en icación de usua ios) [12], Google Analy ics (análisis de da os) [13] y Fi ebase Real ime
Da abase (bases de da os en iempo eal) [14].
En el caso de la aplicación web, se ha u ilizado el se icio Au hen ica ion en el egis o
de usua ios e inicio de sesión pa a ges iona la au en icación y au o ización de los usua ios.
3.6 Gi
Es un sis ema so wa e de con ol de e siones dis ibuido (DVCS, Dis ibu ed Con ol
Ve sion Sys em) que acili a el abajo en pa alelo en e miemb os del equipo de desa ollo [15].
O ece a cada miemb o la posibilidad de abaja en el código de o ma local e independien e a
a és de una copia del eposi o io y, pos e io men e, usiona los cambios ealizados en una
e sión p incipal ubicada en el eposi o io online compa ido. Es a es uc u a descen alizada
compues a po amas de desa ollo acili a la ges ión de e siones de la aplicación y p omue e
la colabo ación en e los miemb os del equipo.
La e sión de Gi que se ha u ilizado du an e el abajo ha sido la e sión
2.39.1.windows.1.
3.7 Gi Hub
Es una pla a o ma en línea que o ece un luga donde pode almacena , ges iona y
colabo a en p oyec os so wa e [16]. Es os p oyec os se si úan en eposi o ios que son
accesibles po los desa ollado es an o de mane a pública como p i ada. Es á basada en Gi y
o ece uncionalidades como in eg ación con ínua, seguimien o de p oblemas, despliegue
au omá ico y con ol de e siones.
16
3.8 HTML
HTML (Hype Tex Ma kup Language) es un lenguaje de ma cado u ilizado pa a desc ibi
el con enido de una página web [17]. A a és de sus elemen os y e ique as, pe mi e la
inclusión, en e o os, de ex o, imágenes, ídeos, enlaces, e c. El código HTML es in e p e ado
po los na egado es web pa a o ma la base de las páginas web. Aunque puede inclui código
ace ca de los es ilos de los elemen os, gene almen e se combina con una hoja de es ilos CSS
pa a de ini la apa iencia de una página web.
La úl ima e sión lanzada y con e ida en es ánda es HTML5 [18], que es la misma
e sión que se ha u ilizado en la implemen ación del F on -End de la aplicación web.
3.9 Ja a Sp ing Boo
Es un amewo k de desa ollo u ilizado p incipalmen e en el lado Backend de la
aplicación. Su unción es la de simpli ica la c eación de se icios web, mic ose icios, API
REST que ges ionan la lógica de negocio y pe mi en la in e acción an o con la base de da os
como con el lado F on -End [19].
En la aplicación, se ha u ilizado la e sión 11 de Ja a [20] y la e sión 2.3.2.RELEASE
de Sp ing Boo .
3.10 Node.js
Es el en o no de ejecución de Ja aSc ip [21] en el lado del se ido . En el con ex o de
Angula , Node.js [22] se u iliza pa a desplega y con igu a aplicaciones Angula en se ido es,
pa a ejecu a sc ip s de c eación y desa ollo y pa a ges iona dependencias median e NPM
(Node Package Manage ). Todas es as unciones hacen que Node.js sea esencial en el
conjun o de ecnologías que con o man el desa ollo de aplicaciones Angula .
En el abajo, se ha u ilizado la e sión 18.17.0 de Node.js.
17
3.11 NPM
NPM o Node Package Manage [23] es el ges o o icial de paque es de Node.js. Se
enca ga de dis ibui y ges iona paque es Ja aSc ip de so wa e. Es os paque es son una
especie de biblio ecas p ede inidas de código que se u ilizan pa a aho a es ue zo y iempo
du an e el desa ollo. G acias a NPM, se pueden ins ala , adminis a y ac ualiza es as
biblio ecas de o ma sencilla.
Se ha u ilizado en el abajo la e sión 9.8.1 de NPM.
3.12 Pos g eSQL
Es un sis ema de ges ión de bases de da os elacional de código abie o [24]. Su
comunidad ealiza con ibuciones ac i amen e pa a desa olla y mejo a la pla a o ma. Se a a
de un sis ema capaz de ges iona g andes olúmenes de da os y de ealiza consul as SQL
complejas. Además, o ece sopo e na i o pa a da os en o ma o JSON [25] y pa a las
ansacciones ACID (A omicidad, Consis encia, Aislamien o y Du abilidad) [26]. Po es os
mo i os, Pos g eSQL es una g an elección en p oyec os que equie an un manejo sólido de la
in o mación.
Se ha u ilizado la e sión 15.2 de Pos g eSQL du an e el desa ollo de la aplicación.
3.13 Pos man
Es una he amien a u ilizada po los desa ollado es de aplicaciones pa a documen a y
ealiza p uebas en APIs (Applica ion P og amming In e ace) [27]. Dispone de una in e az
g á ica que pe mi e p oba , depu a se icios y alida sus espues as median e la c eación, el
en ío y la ecepción de pe iciones HTTP a a és de APIs. También o ece ca ac e ís icas
adicionales como la posibilidad de o ganiza las pe iciones en colecciones y de au oma iza
lujos de abajo con sc ip s.
La e sión de Pos man [28] u ilizada ha sido la e sión 10.17.3.
18
3.14 Visual S udio Code
Es un edi o de código uen e desa ollado po Mic oso . Dispone de una amplia gama
de ex ensiones que pe mi en adap a el edi o a las necesidades del p oyec o y del lenguaje de
p og amación. Además, pe mi e la in eg ación con sis emas de con ol de e siones como Gi e
incluye la posibilidad de depu a el código di ec amen e desde el edi o .
La e sión de Visual S udio Code [29] u ilizada pa a ealiza el código del abajo ue la
e sión 1.81.1.
19

Capí ulo 4 - Especi icación de equisi os
En es e capí ulo se ealiza una especi icación, en p ime luga , de los ac o es que
in e ienen en la aplicación de es e abajo de in de g ado y, en segundo luga , de cada uno de
los módulos uncionales que la componen.
4.1 Ac o es
Los es ac o es que in e ienen en la aplicación son:
1. Cien í ico: Es e ac o ep esen a al usua io que u iliza la aplicación con el obje i o de ealiza
publicaciones pa a pode inco po a se y pa icipa en p oyec os cien í icos.
2. O ganismo: Es e ac o se e ie e a las o ganizaciones e ins i uciones que u ilizan la aplicación
pa a publica p oyec os que quie an ealiza con el obje i o de encon a cien í icos que
quie an pa icipa en ellos.
3. Adminis ado : Es e ac o es el enca gado de ges iona y supe isa la aplicación en su
conjun o. Tiene acceso a odo el lis ado de usua ios de la aplicación, al lis ado de
publicaciones de cien í icos y al lis ado de p oyec os de o ganismos. Puede edi a , elimina y
eac i a cada elemen o de los es lis ados.
4.2 Módulos uncionales
Los casos de uso se han ag upado en cua o módulos según las uncionalidades
exclusi as que pueden ealiza cada uno de los usua ios, más un módulo adicional llamado
Cuen a pa a ecoge odas las ope aciones comunes pa a el cien í ico y el o ganismo.
● Módulo Cien í ico
● Módulo O ganismo
● Módulo Adminis ado
● Módulo Cuen a
20
4.2.1 Módulo Cien í ico
El módulo cien í ico en uel e odas las uncionalidades que puede ealiza el cien í ico.
Como se obse a en la Figu a 4.1, es as incluyen: C ea publicación, Lis a
publicaciones, Edi a publicación, Elimina publicación, Busca publicación, Busca o ganismo,
Mi p oyec o, Mos a p oyec o y Recomendaciones de p oyec os.
Figu a 4.1: Diag ama de casos de uso del módulo Cien í ico
A con inuación, se lis an los casos de uso asociados a es e módulo.
(Desde la Tabla 4.1 has a la Tabla 4.9)
21
Requisi o
C ea publicación
Iden i icado
1.1
P io idad
Al a
P econdición
No debe exis i o a publicación con el mismo iden i icado .
Desc ipción
Se da de al a una publicación en la aplicación pa a que el cien í ico
pueda busca p oyec os y ecibi ecomendaciones.
En ada
Tí ulo, desc ipción, especialidad y expe iencia (años y meses)
Salida
Mensaje eme gen e de que la publicación se ha dado de c eado
co ec amen e
Secuencia no mal
Paso
Acción
1
Se le mues a al usua io un o mula io donde debe in oduci
odos los da os de en ada pa a c ea la publicación.
2
El usua io ellena el o mula io y hace click en “C ea ”.
Apa ece á un mensaje eme gen e p egun ando si es á
segu o de que e c ea la publicación. Debe hace click de
nue o en o o bo ón llamado ambién “C ea ”.
3
Se alida la in o mación in oducida y, si iene un o ma o
co ec o, se ealiza el al a de la publicación en la base de
da os.
Pos condición
Se hab á c eado una publicación en la aplicación.
Excepciones
Paso
Acción
2
En el mensaje eme gen e, apa ece ambién o a opción
llamada “Cancela ”. Si se hace click en ella, el mensaje
eme gen e desapa ece y se uel e a la pan alla del
o mula io.
3
Si alguno de los da os in oducidos no iene un o ma o
co ec o, se mues a un mensaje in o ma i o y se uel e a
mos a el o mula io con los da os in oducidos pa a que
cambie los que son inco ec os.
Ac o es
Cien í ico
Tabla 4.1: Caso de uso - Cien í ico - C ea publicación
22
Requisi o
Lis a publicaciones
Iden i icado
1.2
P io idad
Media
P econdición
El cien í ico debe habe iniciado sesión.
Desc ipción
Se mues a en o ma de abla un lis ado de odas las publicaciones
c eadas po el cien í ico.
En ada
-
Salida
Lis ado de publicaciones del cien í ico
Secuencia no mal
Paso
Acción
1
El cien í ico inicia sesión en la aplicación.
2
El cien í ico hace click en la sección “Mis publicaciones”.
Pos condición
-
Excepciones
Paso
Acción
2
En caso de que el cien í ico no haya c eado ninguna
publicación, en luga de la abla se mos a á el siguien e
mensaje en pan alla:
“No exis en publicaciones.
Añade una nue a publicación en "C ea publicación".”
Ac o es
Cien í ico
Tabla 4.2: Caso de uso - Cien í ico - Lis a publicaciones
23
Requisi o
Recomendaciones de p oyec os
Iden i icado
1.9
P io idad
Al a
P econdición
El cien í ico debe habe iniciado sesión y debe habe c eado
al menos una publicación.
Desc ipción
Basado en la p o esión del cien í ico y en el ámbi o y
subámbi o de los p oyec os, se o ecen ecomendaciones de
p oyec os que pueden se de su in e és.
En ada
-
Salida
Recomendaciones de p oyec os ac i os en los que pode
pa icipa .
Secuencia no mal
Paso
Acción
1
El cien í ico debe hace click en la sección
“Recomendaciones de p oyec os”. Al ca ga la
página, se mues an au omá icamen e
ecomendaciones de p oyec os. El cien í ico,
puede hace click en el bo ón “+ In o mación” que
con iene cada ecomendación pa a e más
in o mación sob e ella.
Pos condición
Se mos a án ecomendaciones de p oyec os.
Excepciones
Paso
Acción
1
Si el cien í ico no ha c eado ninguna publicación
o no hay p oyec os ac i os elacionados con la
p o esión del cien í ico, no se mos a á ninguna
ecomendación po pan alla.
Ac o es
Cien í ico
Tabla 4.9: Caso de uso - Cien í ico - Recomendaciones de p oyec os
30

4.2.2 Módulo O ganismo
El módulo o ganismo en uel e odas las uncionalidades que puede ealiza el
o ganismo.
Es as incluyen: Publica p oyec o, Lis a p oyec os, Edi a p oyec o, Elimina p oyec o,
Busca p oyec o, Busca cien í ico, Mos a cien í ico y Recomendaciones de cien í icos.
(Ve Figu a 4.2).
Figu a 4.2: Diag ama de casos de uso del módulo O ganismo
A con inuación, se lis an los casos de uso asociados a es e módulo.
(Desde la Tabla 4.10 has a la Tabla 4.17)
31
Requisi o
Publica p oyec o
Iden i icado
2.1
P io idad
Al a
P econdición
No debe exis i o o p oyec o con el mismo iden i icado .
Desc ipción
Se da de al a un p oyec o en la aplicación
En ada
Tí ulo, desc ipción, capacidad de in eg an es, ámbi o, subámbi o y
du ación del p oyec o.
Salida
Mensaje eme gen e de que el p oyec o se ha c eado co ec amen e.
Secuencia no mal
Paso
Acción
1
Se mues a un o mula io con oda la in o mación
eque ida pa a pode publica el p oyec o.
2
El o ganismo ellena el o mula io y hace click en
“Publica ”. Apa ece á un mensaje eme gen e p egun ando
si es á segu o de que e publica el p oyec o. Debe hace
click de nue o en o o bo ón llamado ambién “Publica ”.
3
Se alida la in o mación in oducida y, si iene un o ma o
co ec o, se ealiza el al a del p oyec o en la base de da os
Pos condición
Se hab á publicado un p oyec o en la aplicación.
Excepciones
Paso
Acción
2
En el mensaje eme gen e, apa ece ambién o a opción
llamada “Cancela ”. Si se hace click en ella, el mensaje
eme gen e desapa ece y se uel e a la pan alla del
o mula io.
3
Si alguno de los da os in oducidos no iene un o ma o
co ec o, se mues a un mensaje in o ma i o y se uel e a
mos a el o mula io con los da os in oducidos pa a que
cambie los que son inco ec os.
Ac o es
O ganismo
Tabla 4.10: Caso de uso - O ganismo - Publica p oyec o
Requisi o
Lis a p oyec os
32
Iden i icado
2.2
P io idad
Media
P econdición
El o ganismo debe habe iniciado sesión.
Desc ipción
Se mues a en o ma de abla un lis ado de odos los p oyec os
c eados po el o ganismo.
En ada
-
Salida
Lis ado de p oyec os del o ganismo
Secuencia no mal
Paso
Acción
1
El o ganismo inicia sesión en la aplicación
2
El o ganismo hace click en la sección “Mis p oyec os”.
Pos condición
-
Excepciones
Paso
Acción
2
En caso de que el o ganismo no haya publicado ningún
p oyec o, en luga de la abla se mos a á el siguien e
mensaje en pan alla:
“No exis en p oyec os.
Añade un nue o p oyec o en "Publica p oyec o".
Ac o es
O ganismo
Tabla 4.11: Caso de uso - O ganismo - Lis a p oyec os
Requisi o
Edi a p oyec o
33
Iden i icado
2.3
P io idad
Media
P econdición
El p oyec o que se quie e edi a debe exis i en la base de da os y
debe es a ac i o.
Desc ipción
Se modi ican los da os de un p oyec o de mane a pa cial o o al.
En ada
Iden i icado del p oyec o.
Salida
Mensaje eme gen e con i mando que los da os del p oyec o han sido
edi ados co ec amen e.
Secuencia no mal
Paso
Acción
1
Se mues a un o mula io al o ganismo con odos los da os
modi icables del p oyec o que se desea edi a .
2
El o ganismo modi ica aquellos da os que necesi e y hace
click en el bo ón “Edi a ”. Apa ece á un mensaje
eme gen e p egun ando si es á segu o de que e edi a el
p oyec o. Debe hace click de nue o en o o bo ón llamado
ambién “Edi a ”.
3
Los da os modi icados se alidan y, pos e io men e, se
ac ualizan en la base de da os.
Pos condición
Se hab án edi ado los da os del p oyec o en cues ión.
Excepciones
Paso
Acción
2
En el mensaje eme gen e, apa ece ambién o a opción
llamada “Cancela ”. Si se hace click en ella, el mensaje
eme gen e desapa ece y se uel e a la pan alla del
o mula io.
3
Si alguno de los da os in oducidos no iene un o ma o
co ec o, se mues a un mensaje in o ma i o y se uel e a
mos a el o mula io con los da os in oducidos pa a que
cambie los que son inco ec os.
Ac o es
O ganismo
Tabla 4.12: Caso de uso - O ganismo - Edi a p oyec o
Requisi o
Elimina p oyec o
34
Iden i icado
2.4
P io idad
Al a
P econdición
El p oyec o debe exis i en la base de da os y es a ac i o.
Desc ipción
Se ealiza una baja lógica del p oyec o, cambiando a also su es ado
de ac i o.
En ada
Iden i icado del p oyec o.
Salida
Mensaje eme gen e con i mando que el p oyec o se ha dado de baja
co ec amen e.
Secuencia no mal
Paso
Acción
1
El o ganismo accede a su lis ado de p oyec os y
selecciona aquel p oyec o que desea elimina . Apa ece un
mensaje eme gen e p egun ando si es á segu o de que e
elimina ese p oyec o.
2
El o ganismo hace click en el bo ón “Elimina ”.
3
Se comp ueba que exis a el p oyec o y se da de baja de la
base de da os.
Pos condición
Se hab á dado de baja un p oyec o en la aplicación.
Excepciones
Paso
Acción
1
En el mensaje eme gen e, apa ece ambién o a opción
llamada “Cancela ”. Si se hace click en ella, el mensaje
eme gen e desapa ece y se uel e a mos a el lis ado de
p oyec os.
Ac o es
O ganismo
Tabla 4.13: Caso de uso - O ganismo - Elimina p oyec o
35

Requisi o
Busca p oyec o
Iden i icado
2.5
P io idad
Media
P econdición
El p oyec o debe exis i en la base de da os y es a ac i o.
Desc ipción
Se busca el p oyec o y se mues an odos sus da os.
En ada
Iden i icado del p oyec o
Salida
Iden i icado , echa y ho a de la úl ima modi icación, í ulo,
desc ipción, capacidad, du ación, ámbi o y subámbi o del p oyec o.
Secuencia no mal
Paso
Acción
1
El o ganismo in oduce el iden i icado del p oyec o.
2
Se comp ueba si exis e un p oyec o con ese iden i icado .
En caso a i ma i o, se mues an sus da os.
Pos condición
Se mos a án los da os de un p oyec o
Excepciones
Paso
Acción
2
Si no exis e ningún p oyec o con ese iden i icado se
mues a un mensaje in o ma i o al o ganismo y se uel e
a pedi que in oduzca un iden i icado álido.
Ac o es
O ganismo
Tabla 4.14: Caso de uso - O ganismo - Busca p oyec o
36
Requisi o
Busca cien í ico
Iden i icado
2.6
P io idad
Media
P econdición
El cien í ico debe exis i en la base de da os y es a ac i o.
Desc ipción
Se busca el cien í ico y se mues an odos sus da os.
En ada
ORCID del cien í ico que se desea busca .
Salida
ORCID, nomb e, p o esión, email y disponibilidad del cien í ico.
Secuencia no mal
Paso
Acción
1
El o ganismo in oduce el ORCID del cien í ico que desea
busca .
2
Se comp ueba si exis e un cien í ico con ese ORCID. En
caso a i ma i o, se mues an sus da os.
Pos condición
Se mos a án los da os de un cien í ico.
Excepciones
Paso
Acción
2
Si no exis e ningún cien í ico con el ORCID in oducido se
mues a un mensaje eme gen e in o ma i o al o ganismo y
se le pide que in oduzca un ORCID álido.
Ac o es
O ganismo, Cien í ico
Tabla 4.15: Caso de uso - O ganismo - Busca cien í ico
37
Requisi o
Mos a cien í ico
Iden i icado
2.7
P io idad
Media
P econdición
El cien í ico debe exis i en la base de da os y es a ac i o.
Desc ipción
Se mues a oda la in o mación e e en e a un cien í ico.
En ada
Iden i icado del cien í ico
Salida
ORCID, nomb e, p o esión, email y disponibilidad del
cien í ico.
Secuencia no mal
Paso
Acción
1
El o ganismo hace click en el bo ón “+
In o mación”
2
Se mues an odos los da os del cien í ico
Pos condición
Se mos a án los da os de un cien í ico.
Excepciones
Paso
Acción
-
-
Ac o es
O ganismo, Cien í ico
Tabla 4.16: Caso de uso - O ganismo - Mos a cien í ico
Requisi o
Recomendaciones de cien í icos
38
Iden i icado
2.8
P io idad
Al a
P econdición
El o ganismo debe habe iniciado sesión y debe habe
publicado al menos un p oyec o.
Desc ipción
Basado en el ámbi o y subámbi o del o ganismo y en la
especialidad de las publicaciones de los cien í icos y sus
p o esiones, se o ecen ecomendaciones de los cien í icos
disponibles que pod ían pa icipa en un p oyec o conc e o
del o ganismo.
En ada
Iden i icado del p oyec o del que se desea ecibi
ecomendaciones de cien í icos.
Salida
Recomendaciones de cien í icos ac i os que pod ían
pa icipa en un p oyec o.
Secuencia no mal
Paso
Acción
1
El o ganismo debe hace click en la sección
“Recomendaciones de cien í icos”. Después,
debe in oduci el iden i icado del p oyec o del
que desea ecibi ecomendaciones de cien í icos
y pulsa en “Recomenda ”. Se mos a án las
ecomendaciones y el o ganismo, si lo desea,
pod á e más in o mación ace ca de un
cien í ico en conc e o haciendo click en el bo ón
“+ In o mación” que con iene cada
ecomendación.
Pos condición
Se mos a án ecomendaciones de cien í icos.
Excepciones
Paso
Acción
1
Si el o ganismo no ha c eado ningún p oyec o o
no hay cien í icos ac i os elacionados con el
p oyec o, se mos a á el siguien e mensaje po
pan alla: “No se encuen an cien í icos que
abajen en el ámbi o del p oyec o”.
Ac o es
O ganismo, Cien i ico
Tabla 4.17: Caso de uso - O ganismo - Recomendaciones de cien í icos
39
Requisi o
Edi a usua io
Iden i icado
3.6
P io idad
Media
P econdición
El usua io debe exis i en la base de da os y es a ac i o.
Desc ipción
Se modi ican los da os de un usua io (cien í ico u o ganismo) de la
aplicación.
En ada
Si es cien í ico: Nomb e y p o esión
Si es o ganismo: Nomb e y localidad
Salida
Mensaje de con i mación in o mando que el usua io (cien í ico u
o ganismo) se ha edi ado co ec amen e.
Secuencia no mal
Paso
Acción
1
El adminis ado hace click en el bo ón de Edi a
disponible en el lis ado de cien í icos u o ganismos pa a el
cien í ico u o ganismo que desea edi a .
2
Rellena el o mula io edi ando o al o pa cialmen e los
da os del cien í ico u o ganismo.
3
El adminis ado hace click en el bo ón “Edi a ”. Apa ece á
un mensaje eme gen e p egun ando si es á segu o de
que e edi a ese cien í ico u o ganismo. Po úl imo,
selecciona el bo ón “Edi a ” del mensaje.
Pos condición
Se edi a á la in o mación co espondien e a un cien í ico u o ganismo.
Excepciones
Paso
Acción
2
En caso de que alguno de los da os del cien í ico u
o ganismo que se han edi ado es én en un o ma o
inco ec o, se mos a á un mensaje eme gen e.
3
Si alguno de los da os in oducidos no iene un o ma o
co ec o, se mues a un mensaje in o ma i o y se uel e a
mos a el o mula io con los da os in oducidos pa a que
cambie los que son inco ec os.
Ac o es
Adminis ado , Cien í ico, O ganismo
Tabla 4.23: Caso de uso - Adminis ado - Edi a usua io
46

Requisi o
Elimina usua io
Iden i icado
3.7
P io idad
Media
P econdición
El usua io debe exis i en la base de da os y es a ac i o.
Desc ipción
Se da de baja de o ma lógica a un usua io (cien í ico u o ganismo)
ac i o en el sis ema.
En ada
Iden i icado del usua io (cien í ico u o ganismo)
Salida
Mensaje de con i mación indicando que se ha ealizado
co ec amen e la baja del usua io.
Secuencia no mal
Paso
Acción
1
El adminis ado hace click en el bo ón de Elimina
disponible en el lis ado de cien í icos o de o ganismos
pa a el cien í ico u o ganismo que desea elimina .
2
Se mues a un mensaje eme gen e p egun ando si desea
elimina ese usua io (cien í ico u o ganismo). Po úl imo,
hace click en la opción “Elimina ”.
3
Se comp ueba que exis a el usua io y, si es así, se da de
baja de o ma lógica cambiando su es ado de ac i o.
Pos condición
Se da á de baja un usua io (cien í ico u o ganismo).
Excepciones
Paso
Acción
2
En el mensaje eme gen e de con i mación, el
adminis ado puede pulsa ambién o a opción llamada
“Cancela ”. En caso de hace lo, el mensaje eme gen e
desapa ece y se uel e al lis ado de usua ios.
Ac o es
Adminis ado
Tabla 4.24: Caso de uso - Adminis ado - Elimina usua io
47
Requisi o
Reac i a usua io
Iden i icado
3.8
P io idad
Media
P econdición
El usua io (cien í ico u o ganismo) debe exis i en la base de da os y
es a dado de baja.
Desc ipción
Se eac i a un usua io (cien í ico u o ganismo) que ha sido
p e iamen e dado de baja.
En ada
Iden i icado del usua io (cien í ico u o ganismo).
Salida
Mensaje eme gen e indicando que el usua io (cien í ico u o ganismo)
ha sido eac i ado co ec amen e.
Secuencia no mal
Paso
1
El adminis ado hace click en el bo ón de “Reac i a ”
disponible en el lis ado de cien í icos u o ganismos pa a el
usua io (cien í ico u o ganismo) dado de baja que desea
eac i a .
2
Se mues a un mensaje eme gen e p egun ando si se
desea eac i a el usua io. Pa a hace lo, debe hace click
en “Reac i a ”.
3
Se comp ueba que exis a el usua io y que es é dado de
baja. Si se cumplen es as condiciones, se eac i a el
usua io y se mues a un mensaje eme gen e de
con i mación.
Pos condición
Se eac i a á un usua io (cien í ico u o ganismo) dado de baja
p e iamen e.
Excepciones
Paso
2
En el mensaje eme gen e, el adminis ado puede hace
click en la opción “Cancela ”. Si lo hace, el mensaje
desapa ece y se uel e al lis ado de cien í icos u
o ganismos.
Ac o es
Adminis ado
Tabla 4.25: Caso de uso - Adminis ado - Reac i a usua io
48
Requisi o
Lis a odos p oyec os
Iden i icado
3.9
P io idad
Al a
P econdición
El adminis ado debe habe iniciado sesión.
Desc ipción
Se lis an en o ma de abla odos los p oyec os de odos los
o ganismos de la aplicación, ya es én ac i os o no.
En ada
-
Salida
Lis ado de odos los p oyec os de odos los o ganismos de la
aplicación.
Secuencia no mal
Paso
Acción
1
El adminis ado hace click en la sección “Lis a
p oyec os”. Au omá icamen e, ca ga los p oyec os y se
mues an lis ados en pan alla.
Pos condición
Se mos a á un lis ado de odos los p oyec os de odos los
o ganismos de la aplicación.
Excepciones
Paso
Acción
1
En caso de no exis i ningún p oyec o en la aplicación se
sus i uye la abla po el siguien e ex o: “No exis en
p oyec os”.
Ac o es
Adminis ado
Tabla 4.26: Caso de uso - Adminis ado - Lis a odos p oyec os
49
Requisi o
Edi a p oyec o
Iden i icado
3.10
P io idad
Media
P econdición
El p oyec o debe exis i en la base de da os y es a ac i o.
Desc ipción
Se modi ican los da os de un p oyec o de o ganismo.
En ada
Tí ulo, desc ipción, capacidad de in eg an es, du ación, ámbi o y
subámbi o del p oyec o.
Salida
Mensaje eme gen e in o mando que el p oyec o se ha edi ado
co ec amen e.
Secuencia no mal
Paso
Acción
1
El adminis ado hace click en el bo ón de Edi a
disponible en el lis ado de p oyec os pa a el p oyec o que
desea edi a .
2
Rellena el o mula io edi ando o al o pa cialmen e los
da os del p oyec o.
3
El adminis ado hace click en el bo ón Edi a . Apa ece á
un mensaje eme gen e p egun ando si es á segu o de
que e edi a ese p oyec o. Po úl imo, selecciona el bo ón
“Edi a ” del mensaje.
Pos condición
Se edi a á la in o mación co espondien e a un p oyec o de
o ganismo.
Excepciones
Paso
Acción
2
En caso de que alguno de los da os del p oyec o que se
han edi ado es én en un o ma o inco ec o, se mos a á
un mensaje eme gen e.
3
En el mensaje eme gen e de con i mación, el
adminis ado puede pulsa ambién o a opción llamada
“Cancela ”. En caso de hace lo, el mensaje eme gen e
desapa ece y se uel e al o mula io de edición.
Ac o es
Adminis ado
Tabla 4.27: Caso de uso - Adminis ado - Edi a p oyec o
50
Requisi o
Elimina p oyec o
Iden i icado
3.11
P io idad
Media
P econdición
El p oyec o debe exis i en la base de da os y es a ac i o.
Desc ipción
Se da de baja de o ma lógica a un p oyec o ac i o en el sis ema.
En ada
Iden i icado del p oyec o.
Salida
Mensaje de con i mación indicando que se ha ealizado
co ec amen e la baja del p oyec o.
Secuencia no mal
Paso
Acción
1
El adminis ado hace click en el bo ón de Elimina
disponible en el lis ado de p oyec os pa a el p oyec o que
desea elimina .
2
Se mues a un mensaje eme gen e p egun ando si desea
elimina ese p oyec o. Po úl imo, hace click en la opción
“Elimina ”.
3
Se comp ueba que exis a el p oyec o y, si es así, se da de
baja de o ma lógica cambiando su es ado de ac i o.
Pos condición
Se da á de baja un p oyec o de o ganismo.
Excepciones
Paso
Acción
2
En el mensaje eme gen e de con i mación, el
adminis ado puede pulsa ambién o a opción llamada
“Cancela ”. En caso de hace lo, el mensaje eme gen e
desapa ece y se uel e al lis ado de p oyec os.
Ac o es
Adminis ado
Tabla 4.28: Caso de uso - Adminis ado - Elimina p oyec o
51

Requisi o
Reac i a p oyec o
Iden i icado
3.12
P io idad
Media
P econdición
El p oyec o debe exis i en la base de da os y es a dado de
baja.
Desc ipción
Se eac i a un p oyec o que ha sido p e iamen e dado de
baja.
En ada
Iden i icado del p oyec o
Salida
Mensaje eme gen e indicando que el p oyec o ha sido
eac i ado co ec amen e.
Secuencia no mal
Paso
1
El adminis ado hace click en el bo ón de
“Reac i a ” disponible en el lis ado de p oyec os
pa a el p oyec o dado de baja que desea
eac i a .
2
Se mues a un mensaje eme gen e p egun ando
si se desea eac i a el p oyec o. Pa a hace lo,
debe hace click en “Reac i a ”.
3
Se comp ueba que exis a el p oyec o y que es é
dado de baja. Si se cumplen es as condiciones,
se eac i a el p oyec o y se mues a un mensaje
eme gen e de con i mación.
Pos condición
Se eac i a á un p oyec o dado de baja p e iamen e.
Excepciones
Paso
2
En el mensaje eme gen e, el adminis ado
puede hace click en la opción “Cancela ”. Si lo
hace, el mensaje desapa ece y se uel e al
lis ado de p oyec os.
Ac o es
Adminis ado
Tabla 4.29: Caso de uso - Adminis ado - Reac i a p oyec o
52
4.2.4 Módulo Cuen a
El módulo cuen a en uel e odas las uncionalidades comunes en e los cien í icos y los
o ganismos elacionadas con la cuen a de usua io. (Ve Figu a 4.4).
Es as incluyen: Regis a usua io, Inicia sesión, Ve pe il, Edi a pe il, Mos a FAQ y
Mos a con ac o.
Figu a 4.4: Diag ama de casos de uso del módulo Cuen a
A con inuación, se lis an los casos de uso asociados a es e módulo
(Desde la Tabla 4.30 has a la Tabla 4.35)
53
Requisi o
Regis a usua io
Iden i icado
4.1
P io idad
Al a
P econdición
El usua io (cien í ico u o ganismo) no debe exis i en la base
de da os.
Desc ipción
Se egis a un usua io (cien í ico u o ganismo) en la
aplicación.
En ada
Si se quie e egis a un cien í ico: Nomb e comple o, email,
ORCID, p o esión y con aseña.
Si se quie e egis a un o ganismo público: Código DIR3,
nomb e, email, localidad y con aseña.
Si se quie e egis a un o ganismo p i ado: NIF, nomb e,
email, localidad y con aseña.
Salida
Mensaje eme gen e de con i mación indicando que el usua io
(cien í ico u o ganismo) ha sido egis ado co ec amen e.
Secuencia no mal
Paso
Acción
1
Rellena el o mula io de egis o con los da os
eque idos (ya sea de cien í ico u o ganismo). Y
hace click en Regis a .
2
Se comp ueba que los da os in oducidos es én
en un o ma o pe mi ido. Si lo es án, se da de al a
al usua io en la base de da os.
Pos condición
Se egis a á un usua io (cien í ico u o ganismo) en la
aplicación.
Excepciones
Paso
Acción
2
En caso de que los da os in oducidos es én en
un o ma o e óneo, se mos a á un mensaje
eme gen e in o mando del o ma o pe mi ido pa a
que se pueda co egi .
Ac o es
Cien í ico, O ganismo
Tabla 4.30: Caso de uso - Cuen a - Regis a usua io
54
Requisi o
Inicia sesión
Iden i icado
4.2
P io idad
Al a
P econdición
El usua io (cien í ico u o ganismo) ha sido egis ado
p e iamen e en la aplicación.
Desc ipción
El usua io (cien í ico u o ganismo) inicia sesión en la
aplicación.
En ada
Email y con aseña
Salida
Redi ección a la página “Home” del usua io que haya iniciado
sesión
Secuencia no mal
Paso
Acción
1
El usua io (cien í ico u o ganismo) ellena el
o mula io de inicio de sesión esc ibiendo su
email y con aseña.
2
Si los da os son co ec os, se edi igi á a la
página “Home” co espondien e al usua io que ha
iniciado sesión.
Pos condición
Un usua io hab á iniciado sesión en la aplicación.
Excepciones
Paso
Acción
2
Si los da os in oducidos son e óneos o no
co esponden con un usua io egis ado, se
mues a un mensaje de e o .
Ac o es
Cien í ico, O ganismo
Tabla 4.31: Caso de uso - Cuen a - Inicia sesión
55
Po ello, se dice que Angula sigue un pa ón denominado pa ón modelo- is a-modelo
de is a (Model-View-ViewModel) [32]. Es e pa ón acili a la man enibilidad de la aplicación
web, la modula ización y la eu ilización de sus componen es. (Ve Figu a 5.2).
● Modelo: Rep esen a a la capa de da os y la lógica de negocio de la aplicación.
Con iene la in o mación y las eglas pa a p ocesa los da os.
● Vis a: Capa que se enca ga de la p esen ación y la in e az de usua io. Es
esponsable de mos a los da os al usua io y ecoge sus in e acciones.
● Modelo de is a: Es el in e media io en e el Modelo y la Vis a. Su u ilidad es la
de sepa a la lógica de negocio (si uada en el Modelo) de la lógica de
p esen ación (si uada en la Vis a). Se enca ga de solici a los da os al Modelo y
o ma ea los pa a adecua su p esen ación en la Vis a.
Figu a 5.2: Diag ama del Modelo-Vis a-Modelo de Vis a
5.2.2 Capa de negocio
En el caso de la capa de negocio, pa a el diseño de so wa e se ha op ado po u iliza
una a qui ec u a basada en la A qui ec u a en Capas. De es a o ma se ob u o un modelo que
pe mi e una mejo o ganización, una buena modula idad del sis ema que acili a el desa ollo y
su man enimien o, y ambién es escalable según las necesidades del sis ema.
És as capas o ni eles son p incipalmen e:
62

- La capa Con olle : En és e ni el se exponen los endpoin s pa a las API Res .
- La capa Se ice: En és e componen e es donde se encapsula oda la lógica de negocio.
- La capa Reposi o y: És a capa se enca ga del sis ema de ges ión de acceso a la base
de da os.
- La capa Model(En i y): Donde es án las en idades del negocio.
De és a o ma la di isión de ni eles queda e lejada en la Figu a 5.3
Figu a 5.3: Capas o ni eles del diseño de So wa e
Con espec o a los pa ones de diseño u ilizados en és a capa de negocio se puede esal a el
siguien e pa ón:
El pa ón de Inyección de dependencias
És e pa ón es un pa ón de diseño o ien ado a obje os, en el que se suminis a obje os
a una clase en luga de se la p opia clase quien aya a c ea dichos obje os, es á basada en el
p incipio de In e sión de Con ol (IoC) pa a man ene en su "con ex o" odas las ins ancias de la
aplicación, y así pode inyec a és as ins ancias a quién lo necesi e (beans). En és a aplicación
se u ilizó un ipo de inyección de dependencia po A ibu o, al y como se mues a en la Figu a
5.4.
63
Figu a 5.4: IoC po a ibu o
5.3 Modelo de da os
5.3.1 Modelo En idad-Relación
En la Figu a 5.5 se mues a el diag ama En idad-Relación que se ha u ilizado en el
modelado de da os de la aplicación. En es e diag ama se p esen an las en idades y los
a ibu os de inidos pa a el sis ema.
64
Figu a 5.5: Diag ama En idad-Relación
5.3.2 Implemen ación de la base de da os
Pa a pode implemen a el modelo de da os desc i o an e io men e se ha u ilizado un
sis ema de ges ión de base de da os elacional o ien ado a obje os llamado Pos g eSQL que se
in eg a de o ma luida con Sp ing Boo JPA. Así las consul as de ope aciones CRUD [33]
esul an más sencillas. A con inuación, se mues an las ablas u ilizadas en es e modelo de
da os o denados po módulos uncionales.
5.3.2.1 Usua io
En es e apa ado se desc ibe la abla de Usua io. Se puede esal a los siguien es
a ibu os; UUID_usua io y UUID_co eo. Es o es que una ez se haya egis ado el usua io en
la aplicación se gua da án en és a abla los iden i icado es UUID de usua io y UUID de co eo
elec ónico gene ados po Fi ebase.
id: Valo au oinc emen al de un usua io
uuid_usua io: Iden i icado p ima io de un usua io
65
uuid_co eo: Iden i icado del co eo elec ónico de un usua io
ec_c eacion: Fecha de c eación de un usua io
ec_baja: Fecha de baja de un usua io
ac i o: Flag de ac i o/desac i o de un usua io
La elación de la abla de Usua io con o as ablas se puede ap ecia en la siguien e
igu a 5.6:
Figu a 5.6: Tabla Usua io
5.3.2.2 Cien í ico
En es e apa ado se desc ibe la abla de Cien í ico, que ep esen a el ol de usua io de
cien í ico quien es capaz de c ea publicaciones. Se puede esal a los a ibu os uid_usua io
que elaciona con la abla de usua io.
66
o cid: Iden i icado p ima io de un cien í ico
uid_usua io: Iden i icado o áneo de la elación con la abla de usua io
nomb e: Nomb e de un cien í ico
email: Email de un cien í ico
p o esion: P o esión de un cien í ico
disponible: Flag de disponible/no disponible de un cien í ico
ac i o: Flag de ac i o/desac i o de un cien í ico
Como queda elacionada la abla de Cien í ico con o a ablas se puede isualiza en la
siguien e igu a 5.7:
Figu a 5.7: Tabla Cien í ico
5.3.2.3 O ganismo
En es e apa ado se desc ibe la abla de O ganismo, que ep esen a el ol de usua io
de o ganismo quien se enca ga de c ea los p oyec os. Al igual que en el an e io apa ado és a
abla es á elacionada con la abla de usua io, median e el uid_usua io.
id: Valo au oinc emen al de un o ganismo
67

id_o ganismo: Iden i icado p ima io de un o ganismo
uid_usua io: Iden i icado o áneo de la elación con la abla de usua io
nomb e: Nomb e de un o ganismo
email: Email de un o ganismo
localidad: Localidad de un o ganismo
ambi o: Flag de ámbi o público/p i ado de un o ganismo
ac i o: Flag de ac i o/desac i o de un o ganismo
El diag ama de elación de la abla de O ganismo queda ía de la siguien e o ma:
(Ve Figu a 5.8)
Figu a 5.8: Tabla O ganismo
5.3.2.4 Publicación
En es e apa ado se desc ibe la abla de Publicación, y como dijimos en an e io es
apa ados son c eadas po un usua io cien í ico.
id_publicacion: Iden i icado p ima io de una publicación
id_cien i ico: Iden i icación o áneo de la elación con la abla de cien í ico
i ulo: Tí ulo de una publicación
68
desc ipcion: Desc ipción de una publicación
especialidad: Especialidad del cien í ico sob e una publicación
expe iencia: Expe iencia del cien í ico sob e una publicación
ec_c eacion: Fecha de c eación de una publicación
ec_ac ualizacion: Fecha de ac ualización de una publicación
ac i o: Flag de ac i o/desac i o de una publicación
La elación de és a abla de Publicación con la abla de cien í ico queda como se
mues a en la siguien e igu a 5.9:
Figu a 5.9: Tabla Publicación
5.3.2.5 P oyec o
En es e apa ado se de allan los a ibu os que componen la abla de P oyec o. És os
p oyec os los c ean los p opios usua ios o ganismo.
id_c eacion_p oy: Iden i icado p ima io de un p oyec o
id_o ganismo: Iden i icación o áneo de la elación con la abla de o ganismo
i ulo: Tí ulo de un p oyec o
desc ipcion: Desc ipción de un p oyec o
amanio: Tamaño acumulado de un p oyec o
69
du acion: Du ación de un p oyec o
capacidad: Tamaño máximo de un p oyec o
ambi o: Ámbi o de especialidad de un p oyec o
subambi o: Subámbi o de especialidad de un p oyec o
ec_c eacion: Fecha y ho a de c eación del p oyec o
ec_ac ualizacion: Fecha y ho a de úl ima ac ualización del p oyec o.
ac i o: Flag ac i o/no ac i o de un p oyec o
comple o: Flag de comple o/no comple o de un p oyec o
A con inuación las elaciones de és a abla de P oyec o con las ablas de o ganismo y
asignación se mues an en la igu a 5.10:
Figu a 5.10: Tabla P oyec o
70
5.3.2.6 Asignación
En es e apa ado se de alla los a ibu os de la abla de Asignación que es la que hace
de nexo en e las ablas de cien í icos y p oyec os.
id_asignacion: Iden i icado p ima io de una asignación cien í ico-p oyec o
id_cien i ico: Iden i icación o áneo de la elación con la abla de cien í ico
id_p oyec o: Iden i icación o áneo de la elación con la abla de p oyec o
desc ipcion: Desc ipción opcional de una asignación
ac i o: Flag de ac i o/ no ac i o de una asignación
En la siguien e igu a 5.11 se mues a como queda elacionada la abla de Asignación:
Figu a 5.11: Tabla Asignación
71
Figu a 6.3: Regis o de usua io en la base de da os abla Cien í ico.
Figu a 6.4: Regis o de usua io en la base de da os abla O ganismo
78

6.2.2 Inicio de sesión
El inicio de sesión es la uncionalidad que pe mi e al usua io accede a la aplicación
u ilizando las c edenciales (email y con aseña) elegidas du an e el egis o.
Pa a log a inicia sesión, en p ime luga se llama al mé odo
signInWi hEmailAndPasswo d p esen e en la Figu a 6.5 y pe enecien e a Fi ebase,
p opo cionando las c edenciales del usua io que quie e inicia sesión. Es e mé odo pe mi e
comp oba si las c edenciales in oducidas es án egis adas en Fi ebase o no.
En caso de es a lo, se ob iene el UID de usua io pa a su pos e io almacenaje en la base de
da os y se ealiza una pe ición HTTP GET a la pa e backend que de uel e el iden i icado del
usua io y el ipo de usua io que es (cien í ico u o ganismo).
En caso con a io, se de ec a que las c edenciales in oducidas no son álidas y lanza un e o
que impide inicia sesión.
Figu a 6.5: Inicio de sesión en Fi ebase
Ac o seguido, como se mues a en la Figu a 6.6 pa a el caso del cien í ico y en la Figu a
6.7 pa a el caso del o ganismo, según el ipo de usua io que quie e inicia sesión, se ealiza
una pe ición HTTP GET pa a ob ene oda la in o mación del usua io, almacena la en un
se icio compa ido en oda la aplicación llamado use Se ice y edi igi al usua io a la pan alla
79
“Home” del módulo que le co esponda. Es e se icio u iliza la p opiedad sessionS o age que
almacena la in o mación de o ma empo al en el na egado web mien as la pes aña donde se
u ilice es é abie a.
G acias al uso de es e se icio compa ido, se á posible ealiza unciones en los módulos
como mos a el nomb e del usua io que ha iniciado sesión en el panel de usua io o ca ga
di ec amen e el p oyec o en el que pa icipa un cien í ico, en e o as.
Figu a 6.6: Inicio de sesión de un cien í ico
80
Figu a 6.7: Inicio de sesión de un o ganismo
Po úl imo, en la aplicación, se conside a al adminis ado como un usua io que no
equie e de egis o y que exis e de po sí an o en la base de da os como en Fi ebase.
Po ello, pa a pode inicia sesión como adminis ado , se debe comp oba la exis encia del
usua io en la base de da os y en Fi ebase y esc ibi las siguien es c edenciales en el inicio de
sesión:
Email: [email p o ec ed]
Con aseña: adminis ado
81
6.2.3 Módulo Cien í ico
6.2.3.1 C ea publicación
Es a uncionalidad pe mi e al cien í ico c ea una publicación en la aplicación ellenando
un o mula io.
En el o mula io, se debe especi ica el í ulo y desc ipción de la publicación así como la
especialidad y la expe iencia del cien í ico.
Pa a implemen a la, se ecogen los da os in oducidos en el o mula io, se alidan y se
o ma un obje o con ellos.
Ac o seguido, se añade el código pa a pode mos a una ale a eme gen e u ilizando la
biblio eca de Ja aSc ip de código abie o llamada: Swee Ale 2 [37]. (Ve Figu a 6.8).
Figu a 6.8: C ea publicación
82
En caso de que en la ale a eme gen e se seleccione la opción “C ea ”, se ealiza una
llamada al mé odo del se icio ealiza Publicacion pasándole po pa áme o el obje o que
con iene la in o mación del o mula io.
Como se puede obse a en la Figu a 6.9, en es a unción se ealiza la pe ición HTTP POST a
la API pa a egis a la nue a publicación en la base de da os.
Figu a 6.9: Función ealiza Publicación
6.2.3.2 Mis publicaciones
Es a uncionalidad se enca ga de mos a un lis ado en o ma de abla de odas las
publicaciones ealizadas po el usua io. En caso de que no exis a ninguna publicación se
sus i uye la abla po un ex o que indica que no exis en publicaciones c eadas.
El lis ado de publicaciones se ca ga au omá icamen e al en a en la sección “Mis
publicaciones” de la aplicación. Pa a ello, se ealiza una llamada a la unción
ca ga Publicaciones mos ada en la Figu a 6.10. En es a unción llama al se icio que hace la
pe ición a la API pa a ob ene el lis ado de publicaciones que hay que mos a , pasándole el
ORCID del cien í ico que es á u ilizando el módulo.
83

Figu a 6.10: Función ca ga Publicaciones
A con inuación, se mues a en la Figu a 6.11 la unción ob ene Publicaciones que se
enca ga de ealiza la pe ición HTTP GET pa a ob ene las publicaciones a lis a .
Figu a 6.11: Función ob ene Publicaciones
6.2.3.3 Edi a publicación
Es a uncionalidad pe mi e al cien í ico ealiza modi icaciones en los campos que
con o man una publicación. Pa a pode u iliza es a uncionalidad, debe habe se c eado la
publicación que se desea edi a .
El acceso a es a uncionalidad se ealiza desde la sección “Mis publicaciones” pasando
po la URL el iden i icado de la publicación que se desea edi a .
Pa a ca ga la in o mación de la publicación que se desea edi a , se ob iene el
iden i icado pasado como pa áme o y se llama a la unción ob ene Publicacion p esen e en el
se icio ( e Figu a 6.12).
És a se enca ga de ealiza una pe ición HTTP GET pa a ob ene la in o mación de la
publicación a edi a , como se mues a en la Figu a 6.13.
84
Figu a 6.12: Función ob ene Publicacion
Figu a 6.13: Pe ición GET ob ene Publicacion
Una ez ob enida la in o mación de la publicación, se mues a po pan alla.
Cuando el cien í ico haya edi ado los campos que sean necesa ios, se ob ienen sus
alo es y se alidan pa a o ma un obje o. Pos e io men e, se mues a la ale a eme gen e de
Swee Ale 2 pa a p egun a po úl ima ez si se desea edi a la publicación. ( e Figu a 6.14).
Figu a 6.14: Edi a publicación
85
Si la espues a es a i ma i a, se ealiza una llamada a la unción edi a Publicacion
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP PUT que edi a la
publicación en la base de da os. ( e Figu a 6.15)
Figu a 6.15: Pe ición PUT edi a Publicacion
Una ez edi ada la publicación se edi ige al usua io a la página “Mis Publicaciones”.
6.2.3.4 Elimina publicación
Es a uncionalidad pe mi e al cien í ico da de baja una publicación c eada
an e io men e.
El acceso a es a uncionalidad se ealiza desde la sección “Mis publicaciones” en el que
se pasa el iden i icado de la publicación que se desea elimina . ( e Figu a 6.16).
Se uel e a u iliza Swee Ale 2 pa a gene a una ale a eme gen e que p egun e al usua io.
Figu a 6.16: Elimina publicación
86
Si la espues a es a i ma i a, se ealiza una llamada a la unción elimina Publicacion
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP DELETE que elimina la
publicación en la base de da os. ( e Figu a 6.17)
Figu a 6.17: Pe ición DELETE elimina Publicacion
Una ez que la publicación es eliminada se edi ige al cien í ico a la página “Mis
Publicaciones”.
6.2.3.5 Busca o ganismo
Es a uncionalidad pe mi e al cien í ico busca un o ganismo esc ibiendo su nomb e o al
o pa cialmen e. Una ez encon ado, pe mi e lis a sus p oyec os.
En p ime luga , se ob iene el nomb e in oducido po el cien í ico y se alida.
A con inuación se llama a la unción busca O ganismo p esen e en el se icio pasándole
como pa áme o el nomb e esc i o en la búsqueda. ( e Figu a 6.18)
87
Figu a 6.28: Función ob ene P oyec o
Como se mues a en la Figu a 6.29, la unción ob ene P oyec o se enca ga de ealiza
una pe ición HTTP GET pa a ob ene la in o mación del p oyec o a edi a .
Figu a 6.29: Pe ición GET ob ene P oyec o
Una ez ob enida la in o mación del p oyec o, se mues a po pan alla.
Cuando el o ganismo haya edi ado los campos que sean necesa ios, se ob ienen sus
alo es y se alidan pa a o ma un obje o. Pos e io men e, se mues a la ale a eme gen e de
Swee Ale 2 pa a p egun a po úl ima ez si se desea edi a el p oyec o. ( e Figu a 6.30).
94

Figu a 6.30: Edi a p oyec o
Si la espues a es a i ma i a, se ealiza una llamada a la unción edi a P oyec o
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP PUT que edi a el p oyec o
en la base de da os. ( e Figu a 6.31).
Figu a 6.31: Pe ición PUT edi a P oyec o
Una ez edi ado el p oyec o se edi ige al o ganismo a la página “Mis P oyec os”.
95
6.2.4.4 Elimina p oyec o
Es a uncionalidad pe mi e al o ganismo da de baja un p oyec o c eado an e io men e.
El acceso a es a uncionalidad se ealiza desde la sección “Mis p oyec os” en el que se
pasa el iden i icado del p oyec o que se desea elimina .
Se uel e a u iliza Swee Ale 2 pa a gene a una ale a eme gen e que p egun e al usua io.
( e Figu a 6.32).
Figu a 6.32: Elimina p oyec o
Si la espues a es a i ma i a, se ealiza una llamada a la unción
elimina P oyec o p esen e en el se icio que se enca ga de ealiza la pe ición HTTP DELETE
que elimina el p oyec o en la base de da os. ( e Figu a 6.33).
96
Figu a 6.33: Pe ición DELETE elimina P oyec o
Una ez que el p oyec o es eliminado se edi ige al o ganismo a la página “Mis
P oyec os”.
6.2.4.5 Busca cien í ico
Es a uncionalidad pe mi e al o ganismo busca un cien í ico pa a pode e oda su
in o mación.
Pa a implemen a la, se ecoge el ORCID esc i o po el o ganismo en el campo
habili ado pa a ello. Se alida si es á o no en el o ma o co ec o y se pasa como pa áme o a la
unción ob ene Cien í ico del se icio. ( e Figu a 6.34).
Figu a 6.34: Busca cien í ico
97
Como se mues a en la Figu a 6.35, la unción ob ene Cien í ico se enca ga de ealiza
la pe ición HTTP GET pa a ob ene el cien í ico.
Figu a 6.35: Pe ición GET ob ene Cien i ico
Una ez ob enido el cien í ico, se mues a su in o mación po pan alla.
6.2.4.6 Recomendaciones de cien í icos
Es a uncionalidad pe mi e al o ganismo ecibi ecomendaciones de cien í icos que
pueden pa icipa en un p oyec o en conc e o basándose en el ámbi o y subámbi o del p oyec o
seleccionado y en la especialidad de las publicaciones de los cien í icos y sus p o esiones.
Es a uncionalidad equie e que el o ganismo in oduzca el iden i icado del p oyec o
pa a el cual desea ecibi ecomendaciones.
El iden i icado es alidado y pasado como pa áme o a la unción ecomenda P oyec os
del se icio. ( e Figu a 6.36).
Figu a 6.36: Recomendaciones de cien í icos
98
Como se mues a en la Figu a 6.37, la unción ecomenda Cien i icos se enca ga de
ealiza la pe ición HTTP GET pa a ob ene los cien í icos ecomendados.
Figu a 6.37: Pe ición GET ecomenda Cien i icos
Si se ob ienen ecomendaciones de cien í icos, se mos a án en o ma de a je as al
o ganismo.
En caso con a io, se mues a un mensaje indicando que no se han podido ob ene
ecomendaciones.
6.2.9 Adminis ado
6.2.9.1 Lis a publicaciones
Es a uncionalidad se enca ga de mos a un lis ado en o ma de abla de odas las
publicaciones ealizadas po los cien í icos. En caso de que no exis a ninguna publicación se
sus i uye la abla po un ex o que indica que no exis en publicaciones.
El lis ado de publicaciones se ca ga au omá icamen e al en a en la sección.
Pa a ello, se ealiza una llamada a la unción ca ga Publicaciones mos ada en la Figu a 6.38.
En es a unción simplemen e llama a la unción ob ene TodasPublicaciones del se icio
adminis ado .
Figu a 6.38: Lis a publicaciones
99

Como se mues a en la Figu a 6.39, la unción ob ene TodasPublicaciones se enca ga de
ealiza la solici ud HTTP GET al backend pa a ob ene odas las publicaciones de los
cien í icos.
Figu a 6.39: Pe ición GET ob ene TodasPublicaciones
6.2.9.2 Edi a publicación
Es a uncionalidad pe mi e al adminis ado ealiza modi icaciones en los campos de
una publicación de un cien í ico. Pa a pode u iliza es a uncionalidad, deben exis i
publicaciones que edi a . En caso de no exis i , se mues a un mensaje po pan alla
indicándolo.
El acceso a es a uncionalidad se ealiza desde la sección “Lis a publicaciones”
pasando po la URL el iden i icado de la publicación que se desea edi a .
Pa a ca ga la in o mación de la publicación que se desea edi a , se ob iene el
iden i icado pasado como pa áme o y se llama a la unción ob ene Publicacion p esen e en el
se icio ( e Figu a 6.40).
És a se enca ga de ealiza una pe ición HTTP GET pa a ob ene la in o mación de la
publicación a edi a , como se mues a en la Figu a 6.41.
Figu a 6.40: Función ob ene Publicacion
100
Figu a 6.41: Pe ición GET ob ene Publicación
Una ez ob enida la in o mación de la publicación, se mues a po pan alla.
Cuando el adminis ado haya edi ado los campos que sean necesa ios, se ob ienen
sus alo es y se alidan pa a o ma un obje o. Pos e io men e, se mues a la ale a eme gen e
de Swee Ale 2 pa a p egun a po úl ima ez si se desea edi a la publicación. ( e Figu a
6.42).
Figu a 6.42: Edi a publicación
101
Si la espues a es a i ma i a, se ealiza una llamada a la unción edi a Publicacion
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP PUT que edi a la
publicación en la base de da os. ( e Figu a 6.43).
Figu a 6.43: Pe ición PUT edi a Publicacion
Una ez edi ada la publicación se edi ige al usua io a la página “Lis a publicaciones”.
6.2.9.3 Elimina publicación
Es a uncionalidad pe mi e al adminis ado da de baja una publicación.
El acceso a es a uncionalidad se ealiza desde la sección “Lis a publicaciones” en el
que se pasa el iden i icado de la publicación que se desea elimina . ( e Figu a 6.44).
Se uel e a u iliza Swee Ale 2 pa a gene a una ale a eme gen e que p egun e al usua io.
102
Figu a 6.44: Elimina publicación
Si la espues a es a i ma i a, se ealiza una llamada a la unción elimina Publicacion
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP DELETE que elimina la
publicación en la base de da os. ( e Figu a 6.45).
Figu a 6.45: Pe ición DELETE elimina Publicacion
Una ez que la publicación es eliminada se edi ige al cien í ico a la página “Lis a
publicaciones”.
103
6.2.9.7 Elimina usua io
Es a uncionalidad pe mi e al adminis ado da de baja un usua io (cien í ico u
o ganismo) de o ma lógica en la aplicación.
El acceso a es a uncionalidad se ealiza desde la sección “Lis a usua io” en el que
pasa el iden i icado del usua io que se desea elimina . ( e Figu a 6.58 pa a el cien í ico y
Figu a 6.59 pa a el o ganismo).
Se uel e a u iliza Swee Ale 2 pa a gene a una ale a eme gen e que p egun e al usua io.
Figu a 6.58: Elimina cien í ico
110

Figu a 6.59: Elimina o ganismo
Si la espues a es a i ma i a, se ealiza una llamada a la unción elimina Cien i ico o a la
unción elimina O ganismo p esen es en el se icio que se enca gan de ealiza la pe ición
HTTP DELETE que elimina al cien í ico u o ganismo de o ma lógica en la base de da os. ( e
Figu as 6.60 y 6.61).
Figu a 6.60: Pe ición DELETE elimina Cien i ico
Figu a 6.61: Pe ición DELETE elimina O ganismo
Una ez que el usua io es eliminado se edi ige al adminis ado a la página “Lis a usua ios”.
111
6.2.9.8 Reac i a usua io
Es a uncionalidad pe mi e al adminis ado eac i a un usua io (cien í ico u o ganismo)
que es aba dado de baja.
El acceso a es a uncionalidad se ealiza desde la sección “Lis a usua ios” en el que
pasa el iden i icado del usua io que se desea eac i a . ( e Figu as 6.62 pa a el cien í ico y
Figu a 6.63 pa a el o ganismo).
Se uel e a u iliza Swee Ale 2 pa a gene a una ale a eme gen e que p egun e al usua io.
Figu a 6.62: Reac i a cien í ico
112
Figu a 6.63: Reac i a o ganismo
Si la espues a es a i ma i a, se ealiza una llamada a la unción eac i a Cien i ico o a
la unción eac i a O ganismo p esen es en el se icio que se enca gan de ealiza la pe ición
HTTP GET que eac i a al cien í ico u o ganismo en la base de da os. ( e Figu as 6.64 y 6.65).
Figu a 6.64: Pe ición GET eac i a Cien i ico
113
Figu a 6.65: Pe ición GET eac i a O ganismo
Una ez que el usua io es eac i ado se edi ige al adminis ado a la página “Lis a usua ios”.
6.2.9.9 Lis a p oyec os
Es a uncionalidad se enca ga de mos a un lis ado en o ma de abla de odos los
p oyec os ealizados po los o ganismos. En caso de que no exis a ningún p oyec o se
sus i uye la abla po un ex o que indica que no exis en p oyec os.
El lis ado de p oyec os se ca ga au omá icamen e al en a en la sección.
Pa a ello, se ealiza una llamada a la unción ca ga P oyec os mos ada en la Figu a 6.66. En
es a unción simplemen e llama a la unción ob ene TodosP oyec os del se icio adminis ado .
Figu a 6.66: Lis a p oyec os
Como se mues a en la Figu a 6.67, la unción ob ene TodosP oyec os se enca ga de ealiza la
solici ud HTTP GET pa a ob ene odos los p oyec os de los o ganismos.
Figu a 6.67: Pe ición GET ob ene TodosP oyec os
114
6.2.9.10 Edi a p oyec o
Es a uncionalidad pe mi e al adminis ado ealiza modi icaciones en los campos de un
p oyec o de un o ganismo. Pa a pode u iliza es a uncionalidad, deben exis i p oyec os que
edi a . En caso de no exis i , se mues a un mensaje po pan alla indicándolo.
El acceso a es a uncionalidad se ealiza desde la sección “Lis a p oyec os” pasando
po la URL el iden i icado del p oyec o que se desea edi a .
Pa a ca ga la in o mación del p oyec o que se desea edi a , se ob iene el iden i icado
pasado como pa áme o y se llama a la unción ob ene P oyec o p esen e en el se icio ( e
Figu a 6.68).
És a se enca ga de ealiza una pe ición HTTP GET pa a ob ene la in o mación del p oyec o a
edi a , como se mues a en la Figu a 6.69.
Figu a 6.68: Función ob ene P oyec o
Figu a 6.69: Pe ición GET ob ene P oyec o
Una ez ob enida la in o mación del p oyec o, se mues a po pan alla.
115

Cuando el adminis ado haya edi ado los campos que sean necesa ios, se ob ienen
sus alo es y se alidan pa a o ma un obje o. Pos e io men e, se mues a la ale a eme gen e
de Swee Ale 2 pa a p egun a po úl ima ez si se desea edi a el p oyec o. ( e Figu a 6.70).
Figu a 6.70: Edi a p oyec o
Si la espues a es a i ma i a, se ealiza una llamada a la unción edi a P oyec o
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP PUT que edi a el p oyec o
en la base de da os. ( e Figu a 6.71).
Figu a 6.71: Pe ición PUT edi a P oyec o
Una ez edi ado el p oyec o se edi ige al usua io a la página “Lis a p oyec os”.
116
6.2.9.11 Elimina p oyec o
Es a uncionalidad pe mi e al adminis ado da de baja un p oyec o de o ma lógica en
la aplicación.
El acceso a es a uncionalidad se ealiza desde la sección “Lis a p oyec os” en el que se pasa
el iden i icado del p oyec o que se desea elimina . ( e Figu a 6.72).
Se uel e a u iliza Swee Ale 2 pa a gene a una ale a eme gen e que p egun e al usua io.
Figu a 6.72: Elimina p oyec o
Si la espues a es a i ma i a, se ealiza una llamada a la unción elimina P oyec o
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP DELETE que elimina el
p oyec o de o ma lógica en la base de da os. ( e Figu a 6.73).
117
Figu a 6.73: Pe ición DELETE elimina P oyec o
Una ez que el p oyec o es eliminado se edi ige al adminis ado a la página “Lis a p oyec os”.
6.2.9.12 Reac i a p oyec o
Es a uncionalidad pe mi e al adminis ado eac i a un p oyec o que es aba dado de
baja.
El acceso a es a uncionalidad se ealiza desde la sección “Lis a p oyec os” en el que
se pasa el iden i icado del p oyec o que se desea eac i a . ( e Figu a 6.74).
Se uel e a u iliza Swee Ale 2 pa a gene a una ale a eme gen e que p egun e al usua io.
Figu a 6.74: Reac i a p oyec o
Si la espues a es a i ma i a, se ealiza una llamada a la unción eac i a P oyec o
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP GET que eac i a el
p oyec o en la base de da os. ( e Figu a 6.75).
Figu a 6.75: Pe ición GET eac i a P oyec o
118
Una ez que el p oyec o es eac i ado se edi ige al adminis ado a la página “Lis a
p oyec os”.
6.3 API REST
En es e apa ado se especi ica á el diseño de la API Res implemen ada. És as
uncionalidades se pueden di idi po módulos. Además de segui unas buenas p ác icas pa a
diseña una API REST ul, se ha documen ado el desa ollo de la API con el amewo k de
Swagge (OpenAPI 3). És e amewo k es de código abie o y espaldado po un g an
ecosis ema de he amien as que nos ayudan a diseña , cons ui , documen a y consumi un
se icio REST ul.
De es a mane a, en conjun o, la in e az que p esen a Swagge al usua io con las API Res
expues as se mues a en la siguien e Figu a 6.76.
119
Mé odo de consul a (GET) en el que se
busca una publicación po su cla e
p ima ia
Objec
api/sea chP ojec /publica ion/{id}
Mé odo de inse ción (POST) en el que
se c ea una publicación
Objec
api/sea chP ojec /publica ion
Mé odo de ac ualización (PUT) en el
que se ac ualizan los da os de una
publicación dado su cla e p ima ia
api/sea chP ojec /publica ion/{id}
Mé odo de consul a (GET) en el que se
busca odas las publicaciones que
iene un cien í ico dado la cla e
p ima ia de és e
Lis
api/sea chP ojec /publica ion/all/{idCi
en i ico}
Mé odo de consul a (GET) en el que se
busca odas las publicaciones
Lis
api/sea chP ojec /publica ion/all
Mé odo de bo ado (DELETE) en el
que se da de baja a una publicación
dado su cla e p ima ia
Boolean
api/sea chP ojec /publica ion/{id}
Mé odo de modi icación en el que se
busca una publicación pa a eac i a
su es ado dado su cla e p ima ia
Boolean
api/sea chP ojec /publica ion/ eac i a
e/{idPublica ion}
126

Tabla 6.4: Endpoin s API Publicaciones
6.3.5 P oyec os
En és e apa ado se mues an en la Tabla 6.5 los endpoin s ela i os al módulo de p oyec o.
Desc ipción
Resul
Endpoin
Mé odo de consul a (GET) en el que se
busca un p oyec o po su cla e
p ima ia
Objec
api/sea chP ojec /p ojec /{id}
Mé odo de inse ción (POST) en el que
se c ea un p oyec o
Objec
api/sea chP ojec /p ojec
Mé odo de ac ualización (PUT) en el
que se ac ualizan los da os de un
p oyec o dado su cla e p ima ia
Objec
api/sea chP ojec /p ojec /{id}
Mé odo de consul a (GET) en el que se
busca odos los p oyec os que iene un
o ganismo dado la cla e p ima ia de
és e
Lis
api/sea chP ojec /p ojec /all/{idO gani
smo}
Mé odo de bo ado (DELETE) en el
que se da de baja a un p oyec o dado
su cla e p ima ia
Boolean
api/sea chP ojec /p ojec /{id}
Mé odo de consul a (GET) en el que se
busca odos los p oyec os
Lis
api/sea chP ojec /p ojec /all
127
Mé odo de modi icación en el que se
busca un p oyec o pa a eac i a su
es ado dado su cla e p ima ia
Boolean
api/sea chP ojec /p ojec / eac i a e/{i
dP ojec }
Mé odo de consul a (GET) en el que se
busca una lis a de cien í icos
ecomendados pa a el p oyec o de un
o ganismo dado su cla e p ima ia
Lis
api/sea chP ojec /p ojec / ecommend
a ion/{idP ojec }
Tabla 6.5: Endpoin API P oyec os
128
Capí ulo 7 - Conclusiones y T abajo u u o
7.1 Conclusiones
En es e abajo se ha log ado desa olla una aplicación web pa a la ges ión de
búsquedas de cien í icos y p oyec os. A a és de es a aplicación, los cien í icos son capaces
de pode explo a una amplia gama de p oyec os que se alineen con sus in e eses y
conocimien os. Del mismo modo, los o ganismos pueden di undi sus p oyec os y encon a
cien í icos cuali icados pa a lle a los a cabo.
Es a aplicación ha conseguido es ablece , no sólo una pla a o ma ecnológica, sino un
puen e en e la comunidad cien í ica y los p oyec os de in es igación. Ha sido una
demos ación de que la ecnología y la ciencia pueden abaja mano a mano pa a desa olla
soluciones e ec i as a los complejos p oblemas de nues os iempos. El desa ollo de es a
aplicación ha supues o una con ibución pa a omen a la colabo ación in e disciplina y
p omo e e impulsa la inno ación y el a ance en las in es igaciones cien í icas.
Po ello se han aplicado conocimien os en ingenie ía del so wa e, bases de da os,
p og amación y o os concep os pa a diseña y desa olla una aplicación que sa is aga las
necesidades de la comunidad cien í ica. Se puede des aca que en la pa e de ingenie ía del
so wa e se pasa on po las cua o e apas (ciclo de ida del so wa e):
La e apa de la concepción pa a de e mina el alcance del p oyec o y ene una e sión inicial
del modelo de negocio. Es o queda e lejado en las p opues as iniciales de p oyec o de TFG
p esen adas a nues os di ec o es.
La e apa de elabo ación con la plani icación del p oyec o y el desa ollo de las especi icaciones
uncionales del p oyec o. Así se e leja en la e sión inicial de los hi os del p oyec o y el
documen o SRS p esen ados a los di ec o es.
La e apa de cons ucción en el que elabo amos odas las ca ac e ís icas écnicas del p oduc o,
e lejado en el desa ollo backend y on end.
Y inalmen e la e apa de ansición pa a la en ega del p oduc o e minado. Así culmina con la
subida del p oyec o en un eposi o io gi con su documen ación y e sión inal.
129
Po o o lado, en el desa ollo de la base de da os se han enido en cuen a los concep os
ap endidos a la ho a de elegi un modelo de da os elacional que sea capaz de mos a nos, a
a és de un conjun o de ablas, la elación que hay en e los p incipales módulos.
Así ambién los concep os de p og amación o ien ada a obje os se han aplicado en la elección
del diseño de so wa e (modelo basado en la a qui ec u a en capas), ambién se en e lejados
en las buenas p ác icas a la ho a de implemen a código; el o ma o y amaño del código de
desa ollo (núme o de líneas de código), el empaque ado y di isión de las clases e in e aces
pa a ene una mejo o ganización y pa a que el código sea man enible.
Po úl imo, en p o de la anspa encia y el acceso abie o a la in o mación, se
p opo cionan los enlaces a los eposi o ios Gi hub donde se encuen a el código uen e de la
aplicación pa a que, aquel que es é in e esado, pueda consul a los.
● F on -end: h ps://gi hub.com/ahe e08/Science-Hub-F on End.gi
● Backend: h ps://gi hub.com/Ge aldLima/ms-busqueda-p oyec o.gi
7.2 T abajo u u o
A pesa de que se han conseguido implemen a la g an mayo ía de las uncionalidades
p opues as inicialmen e, se pueden plan ea a ias líneas de abajo u u o:
● Mejo a el algo i mo de ecomendaciones: En la aplicación el sis ema de
ecomendaciones es uncional pe o poco a anzado. Es a línea de abajo u u o
se pod ía cen a en segui desa ollando el algo i mo de ecomendación. Po
ejemplo, se pod ían inco po a sis emas de ecomendación basados en el
compo amien o del usua io u ilizando algo i mos de ap endizaje au omá ico, con
la inalidad de o ece ecomendaciones más p ecisas.
● In eg ación de he amien as de colabo ación: Es a línea consis i ía en ag ega
uncionalidades que acili en la colabo ación en línea, como la compa ición de
documen os o sis emas de ideocon e encia. Es os dos sis emas mencionados
pod ían se u ilizados, po ejemplo, pa a pode i ma y en ia con a os de los
p oyec os o pa a ealiza euniones del p oyec o en el que se es é pa icipando.
130
● Funcionalidad de gene a un equipo de abajo: Es a línea se cen a ía en
desa olla una uncionalidad que pe mi iese gene a equipos de abajo pa a un
p oyec o. Se indica ía el núme o de in eg an es necesa io, sus pe iles y la
aplicación o ma ía au omá icamen e un equipo de abajo.
● Mejo as y co ecciones en las uncionalidades ac uales: Es a línea se cen a ía
en mejo a las uncionalidades ya implemen adas en la aplicación, como po
ejemplo, añadi la posibilidad de il ado de in o mación en los lis ados. Además
se cen a ía en la co ección de e o es, op imización de la aplicación y
eliminación de aquellas uncionalidades obsole as.
● Análisis de impac o: En es a línea se pod ían desa olla mé icas pa a e alua el
impac o de las publicaciones y de los p oyec os. Con es as mé icas, se pod ían
ob ene g á icas y ealiza es udios y compa aciones.
● Colabo ación con ins i uciones cien í icas: Es a línea consis i ía en es ablece
asociaciones con ins i uciones cien í icas, labo a o ios de in es igación y
uni e sidades pa a publica sus p oyec os y p omo e la colabo ación cien í ica.
● In eg ación de inanciamien o: Es a línea se cen a ía en in eg a uncionalidades
pa a que los o ganismos puedan busca inanciación y sub enciones pa a sus
p oyec os.
● Remune ación: Es a línea a a ía la idea de emune a a los o ganismos po
publica p oyec os en la aplicación pa a que ac úe como oco de in e és pa a los
cien í icos.
131

Chap e 7 - Conclusions and u u e wo k
7.1 Conclusions
In his wo k i has been possible o de elop a web applica ion o he managemen o
sea ches o scien is s and p ojec s. Th ough his app, scien is s a e able o explo e a wide
ange o p ojec s ha align wi h hei in e es s and knowledge. In he same way, agencies can
dissemina e hei p ojec s and ind quali ied scien is s o ca y hem ou .
This applica ion has managed o es ablish, no only a echnological pla o m, bu a
b idge be ween he scien i ic communi y and esea ch p ojec s. I has been a demons a ion ha
echnology and science can wo k hand in hand o de elop e ec i e solu ions o he complex
p oblems o ou imes. The de elopmen o his applica ion has been a con ibu ion o os e
in e disciplina y collabo a ion and p omo e and boos inno a ion and p og ess in scien i ic
esea ch.
Knowledge in so wa e enginee ing, da abases, p og amming and o he concep s ha e
been applied o design and de elop an applica ion ha mee s he needs o he scien i ic
communi y. I can be no ed ha in he so wa e enginee ing pa he p ojec wen h ough he
ou s ages (so wa e li e cycle):
The concep ion s age o de e mine he scope o he p ojec and ha e an ini ial e sion o he
business model. This is e lec ed in he ini ial TFG p ojec p oposals p esen ed o ou di ec o s.
The elabo a ion s age wi h he planning o he p ojec and he de elopmen o he unc ional
speci ica ions o he p ojec . This is e lec ed in he ini ial e sion o he p ojec miles ones and
he SRS documen p esen ed o manage s.
The cons uc ion s age in which we elabo a e all he echnical cha ac e is ics o he p oduc ,
e lec ed in he backend and on end de elopmen .
And inally he ansi ion s age o he deli e y o he inished p oduc . This culmina es wi h he
upload o he p ojec in a gi eposi o y wi h i s documen a ion and inal e sion.
132
On he o he hand, in he de elopmen o he da abase we ha e aken in o accoun he
concep s lea ned when choosing a ela ional da a model ha is capable o showing us, h ough
a se o ables, he ela ionship be ween he main modules.
Likewise, he concep s o objec -o ien ed p og amming we ha e been applied in he choice o
so wa e design (model based on laye ed a chi ec u e), hey a e also e lec ed in good p ac ices
when we ha e implemen ed code; he o ma and size o he de elopmen code (numbe o line
o code), he packaging and di ision o he classes and in e aces in o de o ha e a be e
o ganiza ion and o make he code main ainable.
Finally, o he sake o anspa ency and open access o in o ma ion, links a e p o ided
o he Gi hub eposi o ies whe e he sou ce code o he applica ion is loca ed so ha anyone
who is in e es ed can consul hem.
● F on -end: h ps://gi hub.com/ahe e08/Science-Hub-F on End.gi
● Backend: h ps://gi hub.com/Ge aldLima/ms-busqueda-p oyec o.gi
7.2 Fu u e wo k
Al hough he as majo i y o he unc ionali ies ini ially p oposed ha e been
implemen ed, se e al lines o u u e wo k can be p oposed:
● Imp o e he ecommenda ion algo i hm: In he applica ion he ecommenda ion
sys em is unc ional bu no e y ad anced. This u u e line o wo k could ocus
on u he de eloping he ecommenda ion algo i hm. Fo example,
ecommenda ion sys ems based on use beha io could be inco po a ed using
machine lea ning algo i hms, in o de o o e mo e accu a e ecommenda ions.
● In eg a ion o collabo a ion ools: This line would consis o adding unc ionali ies
ha acili a e online collabo a ion, such as documen sha ing o
ideocon e encing sys ems. These wo sys ems men ioned could be used, o
example, o be able o sign and send p ojec con ac s o o hold mee ings o he
p ojec in which you a e pa icipa ing.
133
● Func ionali y o gene a ing a wo k eam: This line would ocus on de eloping a
unc ionali y ha would allow gene a ing wo k eams o a p ojec . The numbe o
membe s needed, hei p o iles would be indica ed and he applica ion would
au oma ically o m a wo k eam.
● Imp o emen s and co ec ions in he cu en unc ionali ies: This line would ocus
on imp o ing he unc ionali ies al eady implemen ed in he applica ion, such as
adding he possibili y o il e ing in o ma ion in he lis s. I would also ocus on he
co ec ion o e o s, op imiza ion o he applica ion and elimina ion o hose
obsole e unc ionali ies.
● Impac analysis: In his line, me ics could be de eloped o e alua e he impac o
publica ions and p ojec s. Wi h hese me ics, g aphs could be ob ained and
s udies and compa isons could be made.
● Collabo a ion wi h scien i ic ins i u ions: This line would consis o es ablishing
pa ne ships wi h scien i ic ins i u ions, esea ch labo a o ies and uni e si ies o
publish hei p ojec s and p omo e scien i ic collabo a ion.
● In eg a ion o inancing: This line would ocus on in eg a ing unc ionali ies so ha
o ganiza ions can seek unding and g an s o hei p ojec s.
● Remune a ion: This line would deal wi h he idea o emune a ing o ganiza ions
o publishing p ojec s in he applica ion so ha i ac s as a ocus o in e es o
scien is s.
134
Capí ulo 8 - Con ibuciones pe sonales
8.1 Albe o He e a Ga cía
La con ibución de Albe o al abajo puede clasi ica se en las dis in as ases del
desa ollo:
1. Fase de Ingenie ía de equisi os:
La ase inicial del abajo consis ió en la ecopilación y análisis de equisi os aplicando
Ingenie ía de Requisi os. Su pa icipación ue ac i a no sólo en la iden i icación y
cap u a de equisi os sino ambién en la labo de ecopilación de in o mación y elabo a
la documen ación. Además, pa icipó en la edacción de la especi icación de equisi os,
elabo ando las ablas de casos de uso pa a los ac o es que in e ienen en la aplicación.
2. Fase de Modelado de da os:
El modelado de da os se ealizó, inicialmen e, en una eunión jun o con Ge ald, en la
que se log ó es ablece un modelo de da os de bas an e al o ni el. El modelado de
da os ha sido una a ea que se ha ealizado de o ma conjun a a lo la go del desa ollo
de la aplicación ya que ha a ec ado an o en la implemen ación on -end de la
aplicación web como en el diseño back-end. La labo de Albe o en es a ase ha
consis ido en de ec a y a a jun o con Ge ald cualquie ipo de ajus e que ha sido
necesa io ealiza pa a que el modelo de da os oma a un en oque cada ez más de
bajo ni el.
135