Blog Infos
Author
Published
Topics
Published
Disclaimer
Defining The Task
Gathering Requirements
Functional requirements
Non-functional requirements
Out of scope
High-Level Diagram

High-Level Diagram

Server-side components:
Client-side components:
Deep Dive
Deep Dive: API Service
1. Bi-directional Communication Layer
{
  connection_id: String?
  event_type: "HELLO|MSG_IN|MSG_OUT|MSG_READ|BUY"
  payload: { ... }
}

Job Offers

Job Offers

There are currently no vacancies.

OUR VIDEO RECOMMENDATION

, ,

Migrating to Jetpack Compose – an interop love story

Most of you are familiar with Jetpack Compose and its benefits. If you’re able to start anew and create a Compose-only app, you’re on the right track. But this talk might not be for you…
Watch Video

Migrating to Jetpack Compose - an interop love story

Simona Milanovic
Android DevRel Engineer for Jetpack Compose
Google

Migrating to Jetpack Compose - an interop love story

Simona Milanovic
Android DevRel Engin ...
Google

Migrating to Jetpack Compose - an interop love story

Simona Milanovic
Android DevRel Engineer f ...
Google

Jobs

2. HTTP-based layer
3. Cloud Messaging Layer
{
  user_id: String
  messages: [
    {
      user_name: String
      text: String
      created_at: String
    },
    ...
  ]
}
API Service Diagram

API Service Diagram

ChatMessageData:
+ id: String
+ user_id: String
+ text: String
+ status: String
+ created_at: Long
+ attachments: String // comma-separated list

Candidate: “You can convert it into a model object.”

ChatMessage
+ id: String
+ userId: String
+ text: String
+ status: ChatMessageStatus
+ createdAt: Date
+ attachments: [Attachments]
Deep Dive: Data Model

Entity-relationship “like” Diagram

ChatInfo:
+ chatId: String
+ lastUsername: String
+ lastUserProfileUrl: Url
+ lastMessageText: String
+ lastMessageTimestamp: Date
Deep Dive: Attachments
Follow-up Questions
Timestamps
Security & Privacy
Conclusion
Looking for more content?

YOU MAY BE INTERESTED IN

YOU MAY BE INTERESTED IN

blog
Below is a simple framework for Mobile System Design interviews. As an example, we…
READ MORE
blog
Study open-source projects — not every project is perfect but you can still learn…
READ MORE

1 Comment. Leave new

  • Musclegaragefitness
    31.07.2023 11:48

    “Mobile System Design Exercise: Chat Application” is an insightful blog post from Droidcon, offering a practical and detailed approach to designing a chat application. The step-by-step breakdown of the design process, along with the considerations for scalability and performance, makes it a valuable resource for mobile app developers seeking to create robust and efficient chat applications.

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.

Menu