StoryDAO is a community-powered decentralized application (dApp) built to revolutionize storytelling. Writers can mint original stories as NFTs, and the community collaborates by submitting and voting on sequels. The winning narratives form an evolving chain of story arcs — all governed by smart contracts and powered by the Story Protocol.
- ✍️ Story Minting: Writers mint original stories as NFTs with metadata (title, genre, IPFS hash).
- 🔗 Sequel Submission: Community members submit sequels linked to the original story ID.
- 🗳️ Voting System: One-user-one-vote for each story branch (no downvotes).
- 🎁 Reward Distribution: Tokens/NFTs are rewarded to authors of selected continuations.
- 🧬 Story Lineage Tracking: Trace the full story arc via parent-child smart contract relationships.
- 🧑💻 Author Profiles: Writers can upload avatars, story cover images, and link social accounts.
- 📊 Trending Dashboard: Discover top-rated stories and sequels.
- React (v18.3.1) + TypeScript + Vite
- TailwindCSS for styling
- react-router-dom for routing
- framer-motion for animations
- @react-three/fiber for 3D effects
- ethers.js for Web3 integration
- Node.js + Express
- MongoDB with Mongoose
- JWT for authentication
- Pinata SDK for IPFS file storage
- CORS + dotenv for environment and security
- Ethereum / Polygon for contract deployment
- Story Protocol for IP licensing, tracking, and registration
- IPFS via Pinata for decentralized storage
git clone https://github.com/YourUsername/StoryDAO.git
cd StoryDAOFrontend:
cd client
npm installBackend:
cd ../server
npm installCreate .env files in both client/ and server/ directories and add:
# For Backend
PORT=5000
MONGO_URI=your_mongodb_url
JWT_SECRET=your_jwt_secret
PINATA_API_KEY=your_key
PINATA_SECRET_API_KEY=your_secret
cd server
npm run devcd client
npm run dev- 🧠 Story Protocol: Used for IP registration, tracking, and licensing of original and derivative works.
- ⛓️ Smart Contracts: Used for NFT minting, story registration, sequel linking, voting, and reward distribution.
This project is licensed under the MIT License. See the LICENSE file for details.
PRs are welcome! If you'd like to improve StoryDAO, submit a pull request or open an issue.
- Harsh Jain
@HarshHp15s - Gourav Mishra (https://github.com/gmishrax5)