Many tutorials and courses teach you coding by creating an app from scratch. That is a way to learn creating your app or website...
But sometimes, it's hard to complete the tutorial, and you never reopen the tutorial again, then you forget about learning that language or framework...
I bet you have a lot of unfinished tuto-projects in your /dev/ folder, that you just left there, for a while and you think that one day you will finish'em :) You will never do it :) trust me !
Ok, learning the basics is very important !
For example, to learn a framework like Django or Angular, you have to know the basics of Python or Javascript and by then you attack the framework tutos...
By the basics I mean the a + b and a = a++ thing, the if, then and for thing, the function and class stuff...
For my case, I prefer Python on Javascript, but to create a web app nowadays, you can find more tutos and topics about JS frameworks than Django or Ruby On Rails, but I'm not very good at Javascript.
Ok, I cant create a React app using the CLI, I can change the landing page, and put some components copied from snippets websites... but creating a whole React application ? that's impossible for me right now...
Customizing a ready app is the key !
So I just went on Github, and looked for specific apps that use frontend and backend frameworks. (for example an app based on express.js and reactjs)
I clone the app on my "dev" directory
then I run npm install and play with it to be sure what exactly the app does and that it works perfectly...
The idea is not just to clone it, but it's to ** CUSTOMIZE IT ** !!
after cloning the app and running it without any issues, start discovering the directories and the source code of the app.
Try to locate the source code of every component you see in the browser, and try to understand the logic that makes that code showing that component. Then change the variables values of that piece of code and see how it changed on the browser...
After customizing some components, you will learn many things about that framework, and the code powering it, and you know what ? if the licence of that app is MIT, you can make all your customizations, change its name and push it in your repositories, and it's your app now !
Try to do that as much as you can, and you'll learn really faster than by reading a book or watching a video.
Top comments (1)
This is also a great entry point to contributing to other open source projects as well. Not only do you get the ability to practice your technical chops in updating a site, but you also gain experience working with a distributed team.