Not really much to it. A directory with notes that has subdirectories for different things.
For your example, I've a directory called resources and it has subdirs like books, videos etc.
Each note is a markdown file with some front matter, including a source. The body is what you call annotations and I call notes.
I've got kortina.vscode-markdown-notes and davidanson.vscode-markdownlint extensions for VSCode.
I also have a couple of scripts for housekeeping: to quickly generate an entry and to create indexes. If you're interested you can read more about it here: https://ognjen.io/markdown-notes-improvements/