This is a side project, the aim was to keep in touch with my php skills and to re-implement an old project. It is a reimplementation of an old student project in php that I did in 2011. It is usefull to take a look back at what I learn since this time.
It is to use with a front end part in Vuejs
I try to be as rigourous as possible. But you take in consideration:
- as it is a side project I might not be as rigourous as I will be on a "real" project, regarding test especially. Though I'll try to be on 80% coverage.
- added redis and image generate dummy process
- review tests setup, mocking requests
- finish image process
- implements fuzzy search using a token field or other methods in postgresql
- design media link attached to a post
- add new endpoint : get one random word
- add new endpoint : get word of the day | get the most liked word of the day pass in params
- ...many other features
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!