Basic System Design Diagram for a chat\messaging system

In case you are looking for a starting point to design a "chat or messaging system", here is an article that I hope will be a starting point for server/cloud side design discussions or say while interviewing for a job. Before I show you the diagram, I would like to note down the basic supported functionality and the notable exclusions.

Do let me know in case I missed out on any services or needed functionality or got anything wrong.

Basic Functionality\Use-Cases

  • User Registration and subsequent authorization.
  • Profile and subsequent updating of profile.
  • Ability to send\receive messages and content.
  • Updating of status, last-active, etc.
  • Group chat.


Notable Exclusions

  • Methods, Request Calls, Payloads, Response, Exceptions.
  • Firewalls, Gateways, Load Balancing, Scaling, HA, DR.
  • Data models and implementation.
  • Chat client implementation.



I would love to hear your views. Please leave a comment in the comment box below so that I can learn from your experience.

If you liked the article...please share with your network!, In case you would like me to speak/train/coach about this stuff, do get LinkedIn with me.

Manuswath is an experienced technocrat advocating Brands, Brand-Strategy, Brand-building, Products and Product-Management, Marketing, UI/UX/Usability, Process, Methodology and People. He loves Creativity, Brain-Storming, Product-Articulation, UI/UX, Modern-UI, UI-Design, Coaching, Training, Motivational-Speaking, Productivity, Confidence, Positivity, being a corporate speaker, entrepreneur and mentor... all dashed with a pinch-of-good-natured-humor. He doesn't believe in milestones, the-journey-and-the-experiences-and-memories is what keeps him going.
#systemdesign #softwarearchitecture #services #mobileapplication #systemanalysis #jobinterview

Comments

Popular posts from this blog

DumbCharades (DC) and its different rounds or concepts

Gaalipata .... Hype ???? Hope Not !!!

Why did Mungaaru Male become the 1st movie to run in a multiplex ?