I'm looking for a way to divide the content in my platform into categories (and perhaps sub-categories as well).
Shortly, my platform allows people to curate learning resources (and order them) so other learners can save time and confusion.
The curated lists are called "Learning Paths".
So we have around 80 learning paths right now, and an "Explore" page where you can see them all in a long list. However, it seems it's inconvenient for the users since many asked for them to be divided into categories.
Here is my dilemma. I tried searching for a solution online but found little data: what's the best practice for dividing your website content into categories (and sub-categories)?
In addition, we have some non-CS paths like Women Empowerment and Lock Picking, etc. It seems that each new subject will suddenly have its own category at the beginning until more people create paths for this topic. I can't control what people create, so I need a way that can handle this as well.
Are there ready-made libraries/services/open source projects that do that? I tried looking into NLP and classification libraries but couldn't quite find what I needed.
I assume that a long term solution will include maintaining DB indexes and records. I'm open to any idea.