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


    Reverse Engineer-Andriod

    Sauce Labs
    Anywhere
    • Full Time
    apply now

    (Senior) Android Software Developer (w/m/d)

    Paradox Cat GmbH
    Munich
    • Full Time
    apply now

    Mobile Developer Android (m/w/d) Firebase

    REWE digital
    Köln / Cologne
    • Full Time
    apply now
Load more listings

OUR VIDEO RECOMMENDATION

,

Writing backwards-compatible Gradle plugins

Gradle plugins are powerful – you can integrate custom logic into the build process to make it fit your needs. In the Android world, most Gradle plugins will have to interact with the Android Gradle…
Watch Video

Writing backwards-compatible Gradle plugins

SIMON SCHILLER
Software Engineer
Spotify

Writing backwards-compatible Gradle plugins

SIMON SCHILLER
Software Engineer
Spotify

Writing backwards-compatible Gradle plugins

SIMON SCHILLER
Software Engineer
Spotify

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

Leave a Reply

Your email address will not be published.

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

Menu