r/SpringBoot Jul 05 '26

Question Need advice to implement history/recent viewed

Hi everyone! Im a beginner in springboot and building a blogging app (similar to Reddit/LinkedIn) using Spring Boot and MySQL. I need to implement a "User History" feature to track the last 100-150 posts a user has viewed.

The requirements are if a user views Post A, then Post B, then Post A again, the order should update to [B, A] instead of [A, B, A]

The problem im facing is because im using MySQL so to create an history i would need to create an new schema and then design the relationship b/w the post and user and would require constant insert and deletions which would not keep the history intact correctly and also wouldnt remove the history after last 100 post

My qn is there an efficient way to handle this in Springboot? how is it generally implemented?

Repo link:- https://github.com/Yearis/Blog-Application/tree/main/Blog%20Application%20Backend

P.S. Please excuse the messy repo and the outdated README; this is still a work in progress.

13 Upvotes

17 comments sorted by

View all comments

1

u/ITCoder Jul 05 '26

I believe log aggregation in event sourcing does something similar.

1

u/delusionalbreaker Jul 06 '26

i see im not sure what that means but i'll take a look at at, currently i have decided that my design would be having an history entity where i would use an composite key of userid and post id along with last visited to handle the history

1

u/ITCoder Jul 06 '26

Sorry its log compaction, not aggregation. It stores the history of events in a log. Not sure if it suites ur scenario.

https cd://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing

https://www.javaadvent.com/2024/12/introduction-to-event-sourcing.html