Tinder
Func req
Store profiles (with images)
Recommend matches
Note when you find match
Direct messaging
NFR
5 images per profile
active users (and 0.1% of them are matching)
Trade offs
How to store images
Blob in DB
BLOB (Binary Large OBject) is a data type used to store large binary data, such as images, audio files, video files, documents (e.g., PDF, Word), and other types of binary data.
πTransaction guaranties (but we will not be doing changes to the image β)
πindexes (search) but we will not search by photo β
πaction control (but file system will also provide it)
Store on file system
πcheaper
πfaster
πwe can use CDN on top of it
πwe can store in DB following info (profile ID, image ID, File URL)
Specific technologies
XMPP protocol (7 layer)
XMPP protocol for sending messages. Bsed on XML
It supports various message types, including text, multimedia, and structured data.
Shares online/offline status of user.
Can support file transfer, group chat, voice and video calls, IoT communication via extensions.
Decentralized protocol.
Supports TLS. Works on TCP (somehow WebSocket is onvolved)
Users can subscribe to receive updates about the presence status of other users

Last updated
Was this helpful?