Photo by Towfiqu barbhuiya on Unsplash
Chapter 2: Beginning Your Pet Projects Adventure - The Development
Hey guys,
Chapter 2 is here finally. And yes, I am still working on my next pet project, deeply in the development phase at the moment ๐
Previous chapter:
Create new project
Hitting the "New Project" button is the most crucial step after you've conceived the idea and determined what you want to do next. If you don't, you'll never get started ๐ฅน
This is just a sample picture to see where the "New Project" button is located ๐
Tips
When I do the initialization, I always try to look up some popular templates. Save some of your time. For instance:
Vue 3 + Vite + TailwindCSS template
NodeJS + Express template
...
Always prioritize new technology, not only by learning about it but also by gaining hands-on experience, which is incredibly valuable and legitimate.
Can be:
New programming languages
New frameworks
New cool libs?
...
Always consider trying a new database engine. For instance, I have been using MySQL (or MariaDB) for years, and now I am exploring a fantastic new database called SurrealDB.
- Same reason as above.
For example, my previous projects were using PHP & Laravel. Now I'm using a new thing: Node & TypeScript.
Project planning & To-do list
Since the project could potentially become your next startup product, strive to make it as professional as possible.
Not only does it help you organize tasks, but it also allows you to learn valuable skills from project management.
Choose a Project Management Platform
We have various platforms nowadays. Free is also included. Some of my suggestions:
I've been using Trello for years. It's a straightforward & friendly platform that enables me to create tasks quickly, utilize drag-and-drop functionality, and take notes at any time.
Create tasks
Let's attempt to create numerous tasks. Instead of creating large tasks, break them down into several smaller tasks.
By adopting this approach, you can allocate your time to complete 1 to 3 small tasks per day, making it easier to accomplish. This will lead to significant progress over time.
Completing a large task requires tackling many elements simultaneously, which can be difficult to manage. Handling one or two major tasks initially may be manageable, but over time, your productivity may gradually decrease and eventually come to a halt.
This is also the way to keep the PR small (small PR rules) ๐
Example tasks that I would create for a feature:
[Feature] Authentication
T1: Init DB tables
T2: Create types & mapping between app & db
T3: Create a repository for DB
T4: Create login logic
T5: Generate JWT token
T6: Create auth middleware
...
Create Milestones
Create some milestones for your project. For every milestone reached, celebrate the hard work (ta-da, beer time ๐ป)
A milestone doesn't have to include multiple big features, just saying ๐.
Get into the work
Well, what are you waiting for? Let's get started.
Maintain a steady pace; even small progress is commendable because you achieved it ๐. I can give you some advice:
1~2 tasks/day
1 commit a day
Chapter Close
Thank you for reading! I'll return to my work now and will begin Chapter 3 once it's completed ๐
Cheers!