SocioMark- 4 mins
Table of Contents:
- Video Demonstration (YouTube)
- Generic Social Media Features
- What does Verify do?
- Tech Stack
- Project Links
- End Notes
This project was completed as a part of Sprint 2 Hackathon conducted during the MLH-Fellowship (Spring 2021).
Ending LinkedIn’s famous HR story (38K - 25K) once and for all!
Data Authenticity on social media platforms these days is a joke. Plagiarism is widespread, as it takes almost no efforts to re-post someone else’s post without their knowledge.
And that is precisely where SocioMark fits in.
Imagine a social media platform that lets you upload images and secures them by embedding a personalised hash - such that your asset will always remain your asset, regardless of who posts it!
To build such a platform, our team (Me, Bodhisha Thomas, Deepak Agrawal and Sumi Kolli) decided to collaborate over the last sprint of the MLH-Fellowship.
A quick spoiler: we won!
Video Demonstration (YouTube)
Generic Social Media Features
Like any other social media platform, SocioMark provides users ability to:
- Search Profiles
- Visit Profiles
- Edit own Profile
- Create Posts
- Edit own Post
- Like/Dislike Posts
- Comment on Posts
- Report Posts
However, apart from these generic features, one special feature that SocioMark provides is:
- Verify Posts
What does Verify do?
When a user creates a post with an image asset, the user’s unique id from the database is encrypted via SHA and a
unique 256-bit binary number is generated, which is ultimately embedded onto the image.
Embedding is done using a combined DCT-DWT Algorithm via an Arnold Transformation on the image.
Watermarking an image (embedding some information) can be done via 2 ways:
- Spatial Domain (Least Significant Bits - LSB)
- Frequency Domain (Discrete Cosine Transform - DCT, Discrete Wavelet Transform - DWT)
In the spatial domain, the classic LSB supports a large amount of watermark information and has little impact on the original image. However, the
anti-interference ability is relatively poor and cannot resist image cropping, scaling and jpg compression.
In the frequency domain, such as DCT and DWT, the algorithms have
strong anti-interference ability.
Which means even if we attack the image by compressing/adding artifacts to the image - the information embedded in the image will still retain!
To give birth to this platform, we used FARM Stack:-
(Fa)stAPI - Server, (R)eactJS - Client, (M)ongoDB - Database
Cloudinary- The database to store the images
MongoDB Atlas- The database to store the users, posts, comments and likes
The backend endpoints, their routes, their model schemas, and their controllers are all implemented in Python using FastAPI.
SocioMark is a (it can be installed on devices!), is completely (it works on mobile devices!) - and ensures Data Authenticity throughout the platform.
With more than ~60 closed Pull Requests and ~70 closed Issues across 4 core developers and 5 contributors, the repository is open sourced at MLH-Fellowship’s GitHub.