If you just want to show everything to all visitors like a simple online newspaper, then the architecture isn't too complicated.
A possibility is to store all your content in a database (I prefer any of the SQL ones). Have a 'controller' layer made in any backend langauge, possibly with a framework like Django, Express, Laravel, Rails... Then you could use a lot of client code (maybe React or Vue or Angular), but easier to start with and seemingly sufficient is to generate static html on the server, using the template engines build into Django et al. Then just add some CSS and JS and done!
Probably you'll eventually want to personalize the results per user. You could start with simply tags or topics. To do it in a smart, competitive way you'll have to look into recommender models and other data science, which'll be hard, so skip it until you have a MWE.