Red social para la páctica de laboratorio de Sistemas Distribuidos e Internet.
- Cristina Vena Naredo
- Iván Casielles Álvarez
Social Network SDI
Se visualizará en una lista con todas las publicaciones realizadas por el usuario en sesión. Para cada
publicación se mostrará: la fecha en la que se creó y el título de la publicación.
No es necesario incluir sistema de paginación en este listado.
Debe incluirse una opción de menú principal, visible solo para usuarios en sesión que permita acceder al
a la lista de publicaciones de un usuario.
Los usuarios deben poder registrarse en la aplicación aportando un email, nombre y una contraseña (que
deberá repetirse dos veces y coincidir entre sí).
El email del usuario no podrá estar repetido en el sistema, se debe informar al usuario de los errores en
el proceso de registro.
Utilizar id con nombres significativos en los html para luego referenciar en las pruebas automatizadas.
Se debe incluir una vista especial /admin/login que permita iniciar sesión exclusivamente a usuarios de
tipo administrador. El usuario con perfil administrador indicará su email y contraseña. Sólo los usuarios
que tengan perfil administrador y proporcionen correctamente su email y su contraseña podrán iniciar
sesión con éxito.
Debe haber usuarios con perfil administrador podemos indicar que un usuario es administrador
incluyendo un campo extra en sus datos. Se puede crear un usuario administrador de prueba e insertarlo
desde código o directamente en la base de datos, no hace falta que se puedan registrar administradores a través de la aplicación.
En caso de que el inicio de sesión fracase, será necesario mostrar un mensaje de error indicando el
problema.
En caso de que el inicio de sesión sea correcto se debe dirigir al usuario a la vista que “lista todos los
usuarios de la aplicación”.
Se debe incluir una nueva vista con un formulario para que un usuario en sesión pueda crear una nueva
publicación. Las publicaciones consistirán en un título y un texto, al crear la publicación se debe
almacenar: que usuario realizo la publicación, la fecha en la que se creó, el título y el texto asociados a la
publicación.
Debe incluirse una opción de menú principal, visible solo para usuarios en sesión que permita acceder al
formulario de crear publicaciones.
Junto a cada invitación mostrada en la lista de invitaciones de amistad recibidas se debe incluir un botón
con el texto “aceptar”, al pulsar este botón la invitación de amistad debe desaparecer de la lista de
invitaciones y el usuario que la envió pasará a ser un amigo del usuario en sesión y viceversa (A es amigo
de B, B es amigo de A).
No hace falta hacer botón de rechazar.
Al aceptar la invitación eliminamos la invitación de la base de datos y metemos el amigo.
Utilizar id con nombres significativos en los html para luego referenciar en las pruebas automatizadas.
Se visualizará en una lista todas las invitaciones de amistad recibidas por el usuario identificado en
sesión. Para cada invitación se mostrará el nombre del usuario de la aplicación que solicitó la amistad.
Debe incluirse una opción de menú principal, visible solo para usuarios en sesión que permita acceder al
listado de todas las invitaciones de amistad recibidas.
La lista de invitaciones debe incluir un sistema de paginación y mostrar 5 invitaciones por página.
Utilizar entidad Invitacion, correspondientes al usuario en sesión. No hace falta hacer un botón para rechazar.
Utilizar id con nombres significativos en los html para luego referenciar en las pruebas automatizadas.
Un usuario identificado con perfil de administrador debe poder acceder a una lista en la que figuren
todos los usuarios de la aplicación. Para cada usuario se mostrará su email y nombre.
No es necesario incluir sistema de paginación en este listado.
Suministrando su email y contraseña, un usuario podrá autenticarse ante el sistema. Sólo los usuarios que proporcionen correctamente su email y su contraseña podrán iniciar sesión con éxito.
En caso de que el inicio de sesión fracase, será necesario mostrar un mensaje de error indicando el
problema. Poner mensaje parecido a "No concuerda con ningún usuario del sistema".
No hace falta crear un validador, se puede modificar la configuración de Spring Boot para redireccionar a la página que quieras si se identifica mal.
En caso de que el inicio de sesión sea correcto se debe dirigir al usuario a la vista que “lista todos los
usuarios de la aplicación”.
Utilizar id con nombres significativos en los html para luego referenciar en las pruebas automatizadas.
Junto a la información de cada usuario presente en la vista de “listar todos los usuarios de la aplicación”
debe aparecer un botón con el texto “agregar amigo”. Al pulsar el botón el usuario en sesión está
enviando una invitación de amistad a ese usuario.
Utilizar id con nombres significativos en los html para luego referenciar en las pruebas automatizadas.
Se visualizará en una lista todos los usuarios amigos del usuario en sesión. Para cada usuario se mostrará
su nombre y email.
La lista de amigos debe incluir un sistema de paginación y mostrar 5 usuarios por página.
Debe incluirse una opción de menú principal, visible solo para usuarios en sesión que permita acceder al
listado de todos los amigos del usuario en sesión.
Mostrar sólo los amigos del usuario en sesión.
Utilizar id con nombres significativos en los html para luego referenciar en las pruebas automatizadas.
Crear documentación describiendo cómo resolvimos cada caso de uso. No pasar de una hoja por cada.
Si está bien hecha, suma un punto a la nota final.
Creo que debería hacerse según modificamos la aplicación, para no tener que volver atrás una vez hecho todo.
Incluir un sistema que permita realizar una búsqueda por nombre y email de usuario. El cuadro de
búsqueda contendrá un único campo de texto, la cadena introducida en ese campo utilizará para buscar
coincidencias tanto en el campo nombre como en el email de los usuarios. Por ejemplo, si escribimos la
cadena “mar” deberá retornar usuarios en los que la cadena “mar” sea parte de su nombre o su email.
El resultado de la búsqueda debe ser una lista que muestre las coincidencias encontradas, está lista debe
incluir un sistema de paginación y mostrar 5 usuarios por página.
Utilizar id con nombres significativos en los html para luego referenciar en las pruebas automatizadas.
Se modificará la vista que muestra la lista con los amigos del usuario en sesión para poder acceder a las
publicaciones de un amigo. Al pulsar sobre el nombre del amigo se nos debe dirigir a una lista donde se
visualicen todas sus publicaciones. Para cada publicación se mostrará: la fecha en la que se creó y el título
de la publicación y el texto.
No es necesario incluir sistema de paginación en este listado.
Modificar el caso de uso 9, para que un usuario pueda incluir una fotografía al agregar una nueva
publicación. El fichero de la fotografía debe ser subido al servidor utilizando un formulario (la foto
puede ser renombrada en el servidor para que tenga el mismo nombre que la id de la publicación).
La fotografía debe ser opcional, puede incluirse en la publicación o no.
Modificar el caso de uso 11, al listar las publicaciones de un usuario amigo debe aparecer la foto adjunta
(si es que la tiene) junto al resto de datos de la publicación.
En la lista anterior donde figuran todos los usuarios de la aplicación se debe agregar un botón con el
texto “Eliminar” junto al nombre de cada usuario. Al pulsar el botón de eliminar se debe eliminar toda la
información relativa al usuario, sus datos, sus publicaciones (sí es que las tiene) y debería dejar de figurar
como amigo de otros usuarios.
Se visualizará en una lista todos los usuarios de la aplicación. Para cada usuario se mostrará su nombre y
email.
La lista debe incluir un sistema de paginación y mostrar 5 usuarios por página.
Debe incluirse una opción de menú principal, visible solo para usuarios en sesión que permita acceder al
listado de todos los usuarios de la aplicación.
Utilizar id con nombres significativos en los html para luego referenciar en las pruebas automatizadas.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.