Jozsef Hocza

The Quest

The Quest

So I have started a hobby project with my friend. At this very first day I went thru all the technologies, all the stuff we could use for this project.

A shit load of JS frameworks exists, a lot of databases to choose from, a lot of principles to follow, etc.
I was thinking about using MongoDB as DB and actionhero.js or any other node.js API frameworks.


It feels like I would just go with the hype and we would have some bad experience on our way. I even hopped on a slack chat and asked what do they think. Should I plan ahead, should we code it “for millions of users” from the start? Since it is a hobby project we would have time. There would be no Project Manager, no Client who could drive us crazy with their milestones. Now we would have the time to think ahead and make it great.


You know what? Screw it!

If it is not broken do not fix it!

Set the goal. Keep in sight, always!

There will be problems there will be things to solve but we should NEVER EVER lose the goal. You can look from the corner of your left eye at the problem but the goal should never get out of sight.

The “stack” I chose

Just. Because.

Language, Framework: PHP, Lumen

I like Laravel and both of us is familiar with Laravel

Database: MariaDB

Well since it is going to be a task management app for the public we should be afraid of over auto increment overflow. For know I am going to solve this with unsigned bigInteger (int64).

Even if we would hit 1 000 000 000 users and every user would create 100 000 tasks we would be OK for 505 years.
equation: 18446744073709551615/(1000000000*365*100000)
So I guess that 505 years is a long time to fix the problem. So I think for now that overflow will not be our bottleneck.

Development Process

I guess we start with TDD-ish and Agile-ish

Test everything!

Well I would like a fully tested code in this hobby project.

Coding Style

We will stick with PSR-2 for coding standard and PSR-4 for autoloading standard.

aaaand of course phpdocs… :)

Other fancy stuffs

Well, the usual:

Share this:

Subscribe to my e-mail list.
You can unsubscribe anytime.