After I started to work at
Taliaz we planned on replacing the current architecture. Up until then, their tools were
developed by a 3rd party company. The products developed in
Yii and the backend written in another framework
(which I don’t remember) - pretty much a mess.
After working on the products - fixing some bugs, adding some minor features and preparing for some ISO standards - we, or should I say me, started to look deeper on how to replace the current architecture. Stay tuned, it’s going to be very interesting.
We needed to solve one a major problem. You might think that creating an API that can serve any kind of app - desktop,
mobile, watch etc. - would be the problem. No, any API can do this. We needed to base the API on a framework which
probably stays relevant for years, and won’t be obsolete, or make you twitch your nose once you hear the name,
I looked over the web for the best frameworks. My first choice was
Symfony. Since version 4 was released a couple of
months ago it looked like a good choice. Sure,
lumen were considered, but, when I looked on the
laravel something felt wrong to me:
symfonyis pretty much easy while in
laravelyou need to define a router manually (in addition for creating the class of the router).
symfonyis very easy - just create the class in the
srcfolder and you go to go while in
laravelyou need to manually specify it. When injecting a service to another service you need to write more code.
laravelDB models interactions defined in two places: migration handlers for altering the DB and
phpclasses for interacting with the
symfony, the entity class and the DB modeling happens in one class and the migration files generated by a nice command.
Those are three issues that look minor but when I want to develop something I’m looking for writing less code as I progress.
My CTO said to me: “Go for it. Start to write it with
Symfony”. After two weeks I had an API with very basic stuff -
user authentication based on access token and a couple of entities. Then, I got the bad news: I’m being fired due to
financial issues the company is struggling with.
After digesting the bad news my CTO told me something good: “You can take the work and open source it. Just remove any logic that relates to us”. Yes, finally I can give back what I’ve done to the world. I don’t know if someone will use it, but it’s there.
I named the project§
tahini because I love it.
tahini used me for another project -
Financeular so the work I did never really went to the trashcan.
Well, after working with
Drupal for a long time, creating a slim API’s, DB architecture based on classes, and much
more was very fun and delightful. I’m pretty sure that this would be a good selection for future products if someone
wants to base their work on