First of all, let’s talk a bit about learning. There are tons of methods of learning. For example, some people like to follow along with a course project as most courses out there go with at least a big project. Or some people might prefer a very tiny individual project but focus on a specific topic related to the part he/she learning at this time. Next, maybe move to another part, then build another tiny mini-project. You get the idea.
I prefer to go with the 2nd approach. Because of that, I can really focus only on the part I am learning at this point. For example, I am learning Vue.js. The course I am following has a big project. And suppose currently, I am on the Vuex part. Of course, I will follow the big course project. But at the moment I am learning Vuex, what I do is, create a very tiny project which specifically focuses on Vuex. So I get less distracted by other complexity of the technology that I’m about to learn. And also it’s very important, after learning technology, to build something interesting with it.
Ah, speaking of Vue.js and learning things, I completed a big project Vue-Store (a complete, fully functional e-commerce site) immediately after I learned the basics of Vue.js. In case you wanna have a look: https://vue-store.tahsin.us/.
I spent around 20 days on both Backend & Frontend to build it. Even after around 1.5 years, I still use this project as a reference for myself and my friends. And, when I said reference, it can be an implementation of a tool or a concept. And not only that, just for the project
You can have a look at my GitHub too: https://github.com/tahsinature