monicahq / monica

Personal CRM. Remember everything about your friends, family and business relationships.
https://beta.monicahq.com
GNU Affero General Public License v3.0
21.69k stars 2.18k forks source link

Add nationality to a contact #2302

Open djaiss opened 5 years ago

djaiss commented 5 years ago

We could add the nationality for a contact, and then have some kind of mechanisms to alert us when it's an important date for this country.

djaiss commented 5 years ago

Also, religion (although this is way more complex as those dates are most of the time highly dynamic (like 3rd Monday of the 2nd month after a given date)) (http://icalendrier.fr/religion/)

Religion is an important aspect in people's lives. The goal of Monica is to try to help being a better friend. If one of my friend has a religion I know nothing about (say, buddhism), I wouldn't be aware if a certain day is important for this person for religious purposes. It would be great if Monica would tell me (by reminders or something) when the current day is important for this person.

List of religions: Christianity Islam Nonreligious Hinduism Chinese traditional religion Buddhism Primal-indigenous Sikhism Juche Spiritism Judaism Bahai Jainism Shinto Cao Dai Zoroastrianism Tenrikyo Neo-Paganism Unitarian-Universalism

tbirrell commented 5 years ago

It might be worth investing in a flexible metadata schema then utilizing the power of Laravel Models to check for certain cases (like nationality or religion). This would make it easier to add random information like this to a Contact, while still allowing for arbitrary information. For example, I may want to save everyone's favorite color, but not everyone's favorite cupcake. Flexible metadata would open this up and mitigate the need to add columns and tables for everything. This also seems like a perfect use case for MySQL JSON (though I know you do support several databases).

djaiss commented 5 years ago

This also seems like a perfect use case for MySQL JSON (though I know you do support several databases)

Big no no for this JSON column type. We used this format some time ago, we had to rollback, a lot of users with their instances reported it broke their instances with their databases. It's too bad though, because it was convenient.

That being said, this is a good discussion: fixed columns vs one big JSON that you store containing everything. I'm not against it, I think we could find a nice way to do this.

jyyyeung commented 1 year ago

Would like to check if this is is progress, as I have friends from around the world, and I can't remember where they were from...

mattiasJohnson commented 11 months ago

Would also like to check if this is something that is on the roadmap. Have many friends from around the world as well and would be helpful to be able to record.

virtadpt commented 11 months ago

It would come in handy when undergoing a background check, too. I have to disclose everybody I know who's not a US citizen every once in a while and a feature like this would make life easier.