scieee Open visual document viewer

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

Herrera García, Alberto; Lima Mendia, Gerald

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.

Full text

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