I have a fairly large collection of martial arts events that I'm listing on a page.
Each event happened on a given date and in a given location (country, state, city).
Each event has one or more tournaments, which has a division, the number of fights and the number of unique fighters.
When I had much fewer events I simply listed the events in chronological order with a heading for each year, a smaller heading for the event country, date and name, and the event's tournaments as a list below that heading.
Now that I am dealing with hundreds of events this has become a pretty bad way of displaying the results, so I'm wondering about what would be a better way to display all this data.
The naive implementation would be to use a large table for everything. The benefits of that would be that it's open to sorting, filtering, etc. but it would also mean a lot of redundant data (event name and year repeated over and over) or empty cells.
I've tried googling for existing examples, but I've been unable to find anything that matches what I'm looking for.
Here's an example of the current layout, which really struggles when there are hundreds of events:
And here's an example of the naive implementation where everything's in the same table. This has a lot of repeated information since each tournament now gets a separate line: