Помогите с архитектурой потока страницы приглашения - PullRequest
0 голосов
/ 01 апреля 2011

Я создаю страницу приглашения, где пользователи могут войти в свою учетную запись электронной почты и импортировать контакты из своей адресной книги. Мой вопрос касается дизайна базы данных для этого. Я хочу сохранить все электронные письма для каждого приглашающего пользователя, чтобы при последующих посещениях приглашения им не приходилось входить в систему. Это также позволит мне давать рекомендации друзьям и т. Д.

Я думал о создании новой таблицы, называемой контактами, с полями userid, contantname, contactemail. Я понимаю, что у многих пользователей может быть один и тот же контакт, поэтому мне интересно, будет ли хорошо, чтобы дизайн базы данных сохранял имя контакта и контактную почту в отдельной таблице, или в этом случае можно оставить их в одной таблице.

Мне также любопытно узнать, как другие спроектировали весь поток приглашений. Например, в моем случае для каждого контакта, который уже существует в системе, я предложу пользователю следовать, а если контакт отсутствует в системе, я предложу пользователю пригласить их. Когда приглашенный пользователь регистрируется, пользователь и приглашенный пользователь будут автоматически следовать друг за другом, и запись будет удалена из базы контактов. В случае, если контакт существует для нескольких пользователей, как только этот контакт примет приглашение от одного пользователя, я отобразлю других пользователей в качестве рекомендаций для следования. Это звучит нормально, или есть лучший подход к этому?

Спасибо.

1 Ответ

1 голос
/ 02 апреля 2011

От какого атрибута или набора атрибутов функционально зависит «имя контакта» в вашем домене?Это на userid или contactctemail?Ответь, и ты ответишь на свой вопрос.У меня есть следующий сценарий, который вы должны рассмотреть:

Допустим, есть контактная почта: janedoe@example.com

В моей адресной книге ее контактное имя "Джейн Доу"

В адресной книге Джона Доу это «Глупая сестренка»

В почтовой службе Джейн Доу это «Джейн Мэри Доу».

Если у вас уже есть знания о «Джейн Мэри Доу» до того, как я или Джон Доу пригласили Джейн, тогда у вас есть свой ответ;имя контакта функционально зависит от контактной почты.Если вы этого не сделаете, у вас есть ваш ответ: для меня никогда не было бы целесообразно видеть или мое электронное письмо с приглашением Джейн через какое-либо зависимое от пути событие, чтобы адресовать «Глупую сестренку»;имя контакта функционально зависит от идентификатора пользователя и контакта.

...