Chapter 2: Beginning Your Pet Projects Adventure - The Development
Chapter 2 is here finally. And yes, I am still working on my next pet project, deeply in the development phase at the moment 😉
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 😆
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.
New programming languages
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.
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:
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 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 commit a day
Thank you for reading! I'll return to my work now and will begin Chapter 3 once it's completed 😆