Jump to content

private mailbox design


jodunno

Recommended Posts

Hello to all,

I have an idea for my website but i am hoping to have some design tips from experienced members. I am not a programmer or a database designer. I am not asking for code as i am capable of coding with pseudocode guides. I am not sure how to properly implement my ideas.

here is my idea and necessary site data:

i have a member application for taxonomy (nature, meaning that i identify animals by keys or dissection and i am providing my own biological research material for all of the ranks that i have documented to date.) I ask for application login name and password, then a separate display name (i don't want your login name used anywhere on my site. it is only for application access.) The screen name can be changed (poses a problem with my idea, so i need a solution for handling the problem, which i will mention below). I want to add a mail box which is not public like an email provider. This is more like a private messaging system. I will call it post and your messages will be displayed as sticky notes with titles that are clickable to the full message/note. The only way to use this private mail system is to manually add display names that you trust to a friend list. Once a friend is added by screen name, then you can accept and send messages to this person. Some messages can be notes for your own viewing (not available to friends, thus i suppose a db column flag is appropriate, such as column named privatenote- = yes/no, 1/0 etc).

then i would like to add a "group" feature where the messages are visible in a group page/tab. The site is private but these notes are visible to all in the group like a public gathering/meeting.

then i would like to allow file uploads for sharing data. For example, a scientist may join my site and offer a research paper for download to anyone in his/her friend list.

a problem with adding friends to a list is that i use the display name which can be changed. so i need to be able to update all friend lists if a member changes his/her display name.

so i am wondering how to design such a database or do i just make tables in my current members database which also holds a bookmarks table.

anyone willing to offer advice for such a feature?

Best wishes.

Link to comment
Share on other sites

1 hour ago, jodunno said:

a problem with adding friends to a list is that i use the display name which can be changed. so i need to be able to update all friend lists if a member changes his/her display name.

That is only a problem if you store the "display name" in the list. Store the users' ids (which will be unique and never change) and the problem vanishes. EG

+----------------+            +--------------------+            +-------------+
| user           |            | group_member       |            | group       |
+----------------+            +--------------------+            +-------------+
| user_id PK     |------+     | group_id           |>-----------| group_id PK |
| username       |      +----<| user_id            |            | group_name  |
| password       |            +--------------------+            +-------------+
| display_name   |
+----------------+

 

  • Great Answer 1
Link to comment
Share on other sites

Dear Barand,

Brilliant! Thank you for the design model and the user id tip to avoid display name issues. I will work on a test mail system and see how it goes as a rough draft. I think that maybe i should call this messaging system notes instead of mail to avoid confusion with real email systems. Private Notes with individual/self, friends or group settings. File upload is easy enough (although security is complicate and delicate.) I will also implement soft deletions and copyright infringement blocks. File uploading will have to deal with all of the legal issues that accompany the process for sure.

I will start working on this design sometime today. I'm currently adjusting my bookmark system because i use a one hit history for taxonomical browsing. bookmarks overwrite the history and i want to avoid this overwriting. Thus, i am setting a variable to detect that a bookmark was used to access the rank which in turn avoids rewriting history. I guess a good name for it is paradox variable. if paradox then do not log history. The onetime history is to make it easy to return to your last view in the taxonomical browser. Anyway, I will adjust this bookmark problem, then start working on the Note system.

Thank you and Best wishes.

ps you are so Brilliant with databases. You make it seem so simple.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.