A decentralized social media proof-of-concept application built with React, TypeScript, and integrating with IPFS (via Kubo).
-> Join a Social Network with it OR just use it for blogging.
You can find the latest version of D. Social App here: https://ipfs.io/ipns/k51qzi5uqu5dl65eg14adz5ceu6k9dna2s55io6iyr1qpyd1wwxqf2g7wm3tf8
-> Read the spec.md
-
Install Dependencies:
npm install # or yarn install -
Set up Environment (if needed):
- Ensure you have access to a Kubo node (if using Kubo login).
- Configure CORS settings for the Kubo API endpoint as required by the application logic.
ipfs config --json Pubsub.Enabled trueipfs config --json Ipns.UsePubsub true
-
Run Development Server:
npm run dev
This will start the Vite development server, typically at
http://localhost:5173. -
Build for Production:
npm run build
This creates a
distfolder with the optimized production build.
- React
- TypeScript
- Vite
- React Router DOM
- React Hot Toast (for notifications)
- React Responsive Masonry (for space efficient feed rendering)
- Kubo (for decentralized storage and identity)
- following not possible when on public gateway hosted url
- loggout on refresh bug - should stay logged in
- allow creating user aliases
- export/import of user's private key
- moderator features / filter disliked posts of followed users in the role of moderators
- scale through users - the more users cache (view) and pin (like) content, the faster the network will become.
For remote IPFS nodes (not localhost), configure CORS to allow the application:
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["POST", "GET", "PUT", "OPTIONS"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Headers '["Authorization", "Content-Type", "X-Requested-With"]'
- Allow creating user aliases
- Export/import of user's private key
- Moderator features / filter disliked posts of followed users in the role of moderators
- Scale through users - the more users cache (view) and pin (like) content, the faster the network will become
- Friend-pinning: When following a user, automatically pin their latest Profile CID to improve data availability