Giter Site home page Giter Site logo

messenger's Introduction

Messenger

Messenger Database Design Concept for chat applications, by using this, you will be able to create group chat or a one to one chat application without a hassle.

If you really like it? use it, implement it and share the link with me ;) Happy Messaging!

Alt Messages Database Design

Startup? want to build an app?

If you have a query about building an app or an API for your Mobile application, please consult at [email protected] or visit Crew, Crew is an open innovation house based in Sri Lanka.

Versions

1.0.3

Attachment table added, now you can add galleries for messages

1.0.2

#4 fix

1.0.1

Updated Access to devices relationship as one to one.

1.0

Initial commit.

messenger's People

Contributors

iamousseni avatar nayaabkhan avatar yoosuf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

messenger's Issues

microservices?

hello!

it's awesome database architecture, but.. what about microservices? :3 highly coupled tables there, how to separate them?

participants_id in messages

I am confused about two things in the deisgn

  1. Why have you included participants_id in messages table? If a message belongs to conversation then the participants can be know from it.
  2. why have you made the type(single, group) in participants table instead of conversation?

I found some weird properties inside your Schema

Can you please create a Docs about these things so that other people can understand easily?

messages table

image

  • guid
  • sender_id:
  • sender_id: user id of the person sending out the chat
  • attachment_thumb_url
  • attachment_url
    **

Add Ad-hoc queries

It would be great if you can add sql queries like Recent messages, conversations.

Create new Feature for this database

I see your database schema is really great and I think it will help me a lot to build a Chat App. However, I still want to custom it for some of my own ideas. So basically, right now I just want to do this thing like this.

  • There are lots of Topics in my App like Friends, Family, ... (So each Topic will have ID, Name as well)
  • So when they join into my Chat Room, I show for them lots of those Topics
  • After they hit to join talking about one Topic, I show for them lots of other users in that Topic Room
  • In that Topic room, they can choose any people to talk with (just one for now)
  • For now, I just support for them chat between one user and one user.

I'm still lack of my knowledge about building this thing so it will be good if someone can help a while with this cool idea.
Thanks a lot for your time.

delete conversation

imagine if one user deletes a conversation, he would lose all the messages of it ofcourse, but later he start a new conversation (sends or receives a new msg ) with that same user he just deleted the previous conversation.
My question is how to deal with this operation in the table conversation?

Should we define `type` in `conversation` table instead of `participants`?

    @yoosuf Should we define this type in **Conversation** table. I mean when a user chat 1 x 1 (type = single) and when he/she chats on a group (type = group), **type** should be define in **Conversation**, right ?

Originally posted by @trankhacvy in #10 (comment)

I have the same question with this guy.
In current version, we can encounter the case that two (or more) records have a same conversation_id but different type. So how can we avoid it?

Identifying duplicate conversations

Interesting db design. I'm curious though, do you create a conversation.id once, say user A selects user B to have a conversation with? Or do you only create the conversation.id once a message is exchanged between the two?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.