Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jarrodwatts/chainblog
The decentralized blogging platform built on Lens Protocol 🌿
https://github.com/jarrodwatts/chainblog
graphql graphql-codegen lens lens-protocol markdown nextjs react react-query tanstack-query tanstack-react-query thirdweb typescript
Last synced: 3 months ago
JSON representation
The decentralized blogging platform built on Lens Protocol 🌿
- Host: GitHub
- URL: https://github.com/jarrodwatts/chainblog
- Owner: jarrodwatts
- Created: 2022-12-12T11:26:47.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-21T00:45:07.000Z (almost 2 years ago)
- Last Synced: 2024-08-03T16:09:36.902Z (5 months ago)
- Topics: graphql, graphql-codegen, lens, lens-protocol, markdown, nextjs, react, react-query, tanstack-query, tanstack-react-query, thirdweb, typescript
- Language: TypeScript
- Homepage: https://chainblog.io
- Size: 3.12 MB
- Stars: 15
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-lens-protocol - Chainblog - The decentralized blogging platform (Projects / Open Source)
README
# Chainblog
![banner.png](./banner.png)
A decentralized blogging platform built on top of the [Lens Protocol](https://www.lens.xyz/).
- Own your [Profile](https://docs.lens.xyz/docs/profile) as an NFT.
- Write posts in [markdown](https://www.markdownguide.org/), store them on [IPFS](https://portal.thirdweb.com/storage) and attach them to your profile NFT inside a [mapping](https://docs.soliditylang.org/en/v0.8.17/types.html#mapping-types).
- View a Personalised [Feed](https://docs.lens.xyz/docs/timeline) of posts from creators you follow.## Tech Stack
- [Next.js](https://nextjs.org/): 🐐 React framework for production.
- [TypeScript](https://www.typescriptlang.org/): 🦕 A better JavaScript.
- [Lens Protocol](https://www.lens.xyz/): 📡 Decentralized social graph for storing data for profiles, posts, comments, mirrors, etc.
- [GraphQL & GraphQL Codegen](https://the-guild.dev/graphql/codegen): 📜 Auto-generate strongly typed types and hooks for your GraphQL queries based on the Lens GraphQL schema. See [codegen.yaml](./codegen.yaml) for more details.
- [thirdweb](https://portal.thirdweb.com/sdk): 📦 All things web3.
- [React SDK](https://portal.thirdweb.com/sdk) to connect to and interact with smart contracts in React hooks.
- [Storage](https://portal.thirdweb.com/storage) to store files on IPFS.
- [UI Components](https://portal.thirdweb.com/ui-components) to connect wallets, render content from IPFS, and interact with smart contracts:
- [Connect Wallet Button](https://portal.thirdweb.com/ui-components/connectwalletbutton)
- [Web3 Button](https://portal.thirdweb.com/ui-components/web3button)
- [IPFS Media Renderer](https://portal.thirdweb.com/ui-components/ipfs-media-renderer)- [Material UI](https://mui.com/): 🎨 Because I [suck at tailwind](https://twitter.com/jarrodWattsDev/status/1602741700472049667).
- [Tanstack (React) Query](https://tanstack.com/query/v4): 🐶 A powerful, flexible, and extensible data fetching and caching library for React.
- [@graphql-codegen/typescript-react-query](https://the-guild.dev/graphql/codegen/plugins/typescript/typescript-react-query) Auto-generate strongly typed React Query hooks for queries and mutations based on your `.graphql` files. [Demo](https://twitter.com/jarrodWattsDev/status/1602534171284426754).## Roadmap
### MVP
- ✅ Sign in with Lens
- ✅ Create a post
- ✅ View a feed of posts
- ✅ View a feed of posts from creators you follow
- ✅ View a profile
- ✅ View a profile's posts
- ✅ View an individual post
- ✅ Discover profiles
- ✅ Follow a profile
- 🚧 Unfollow a profile (Bugged atm)
- ❌ Collect a post
- ❌ View a post's collection info (price, supply, etc.)
- ✅ Add a reaction
- ✅ View post reactions
- ❌ Comment on a post
- ✅ View post comments
- ✅ Mirror a post### Future
- ✅ Sign in with Lens
- ✅ Create a post
- ❌ Wait for transaction to be indexed
- ✅ View a feed of posts
- ✅ View a feed of posts from creators you follow
- ✅ View a profile
- ✅ View a profile's posts
- ❌ `/profile` route
- ❌ Edit profile
- ❌ Delete profile
- ❌ View profile's followers
- ❌ View profile's following
- ✅ View an individual post
- ✅ Discover profiles
- ✅ Follow a profile
- ❌ Follow user who has a follow module setup
- 🚧 Unfollow a profile (Bugged atm)
- ❌ Choose which collection module to use on a post
- ❌ Collect a post
- ❌ View a post's collection info (price, supply, etc.)
- ✅ Add a reaction
- ❌ Live updating reaction count
- ✅ View post reactions
- ❌ Comment on a post
- ✅ View post comments
- ❌ Mirror a post
- ❌ View a post's mirrors
- ❌ Hide post
- ❌ Report post
- ❌ Search publications
- ❌ Notifications### More Future
- 🤔 Use dispatcher for all transactions to have gasless transactions
- 🤔 Create Lens Profiles directly from Chainblog
- 🤔 E2EE Messaging using [XMTP](https://xmtp.org/)
- 🤔 Recommended profiles suggestion after following a user### Known Issues
- Default profile is assumed to be set everywhere
- Unfollow is bugged