A great way to learn is by following an explination of how something is built. Here are some great tutorials that I don't want to forget about to one day go through:
- Build a SQL Database
- Write a Shell in C
- Crafting Interpeters A book
- Linux from Scratch Might be the oldest one
- Build your own Text Editor walks through antirez's Kilo
These, and the books, architecture of open source applications, are a great resource!
I've also just found these two pages that are also lists of projects to learn from: