Requirements:

  1. User should be able to see list of users based on their subscriptions type
  2. User should be able to search for an user for given name
  3. Recommendation list should be returned based on matching criteria user has selected.
  4. Matching list should be returned sorted based on match criteria.
  5. User should receive notification for new match request.
  6. User should be able to accept match request.
  7. User should be allowed to chat only if another user has accepted the request

NFR:

  1. recomendation should be fetched within 5ms
  2. system should be available

excalidraw

tinder

⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠ You can decompress Drawing data with the command palette: ‘Decompress current Excalidraw file’. For more info check in plugin settings under ‘Saving’

Excalidraw Data

Text Elements

API gate

User1

user2

session service

profile service

image service

recomendation service

session db

user db

image db

chat with xmpp protocol

matcher service

Link to original

Realtime recommendation engine