Xclone App - Spring MVC

Esta es una de las aplicaciones que me hizo disfrutar su construcción desde el diseño de la base de datos, su implementación en MySQL hasta la programación con Java y Spring con Spring MVC, permite crear post, dar me gustas, comentar, cambiar y guardar la foto de perfil y todo su sistema de Login.

Tecnologías: Spring MVC, Spring Data JPA, Spring Security, Spring Validation, MySQL, Thymeleaf, HTML, TailwindCSS y Javascript.

Podemos ver la estructura de directorios y algunos de sus controladores, donde manejo la validación de los datos enviados desde un formulario utilizando @Valid y BindingResult.

Podemos ver detenidamente el controlador que se encarga de procesar el formulario que crea cada post:

Y, como podemos ver, que también cuenta con su adaptación a móvil siguiendo el patrón First Mobile, toda la interfaz construida con TailwindCSS

Los usuarios pueden interactuar con las publicaciones de otros dando "me gusta". Para implementar esto, he creado una tabla llamada Likes, que registra cada “me gusta” en la base de datos junto con el id de la publicación y el id del usuario que dio me gusta.

Para mejorar la experiencia del usuario, he implementado una funcionalidad en JavaScript que cambia el color del ícono "me gusta" cuando un usuario interactúa con él. Este cambio de color refleja visualmente el estado del "me gusta", permitiendo que el usuario sepa en todo tiempo si ya ha dado "me gusta" a una publicación o no.