Create an amazing love button. When you click on it, it's just love for everyone!
The love button is fully original, when you clic on it, it turns from blue to a wonderful and gorgeous red color.
Each love is can be sent only on time. The basic architecture is following :
+--------+
+->| client |
/ +--------+
+--------+ +---------+ +--------+
| client +-->| servers +--->| ... |
+--------+ +---------+ +--------+
\ +--------+
+->| client |
+--------+
If you look closer, you will see that :
client server database
| | |
love-click |-- http[POST] /api/loves -------------->|-- exist/persist ->| loves[id,ip,created]
|<-- 200 --------------------------------|<------------------|
people-love-count |-- http[GET] /api/loves?metaonly=true ->|----- count ------>|
|<-- 200 --------------------------------|<------------------|
love-click-error |-- http[POST] /api/loves -------------->|-- exist --------->|
|<-- 412 { message : already exist } ----|<--- yes ----------|
me-love-count |-- http[GET] /api/me/i-am-in-love ----->|-- exist(ip) ----->|
|<-- 200 --------------------------------|<--- yes ----------|
me-love-count |-- http[GET] /api/me/i-am-in-love ----->|-- exist(ip) ----->|
|<-- 404 --------------------------------|<--- no ----------|
The love button is full of surprises. It has 2 layers :
- the button, where people spread love
- blue, you don't love anyone
- red, you can love or you already love
- love count, where people know of much people love them