Inspiration
I have been working in the Content Management space for years now. I've worked on a couple of CMS products. I've used many others as well; both for work with clients as well as for my own personal projects. For me, it just seemed like a no-brainer to bring a CMS into the Near Protocol ecosystem.
What it does
d CMS is a decentralized headless content management system (CMS). Users can create and manage their content, media, and content types.
Admin users create content types, assign other users roles, and manage client applications.
Editor users upload media and create content based on the content types created by Admins. Content can be public or private and encrypted or not.
Configured clients and registered users can then access said data via rest API (GraphQL support coming soon).
How we built it
The headless CMS is a Next JS web app written in TypeScript. Near smart contracts are written in AssemblyScript (I started on a Rust conversion). The Graph subgraph is also included and is AssemblyScript as well. Content schema, content metadata, and user/client access are all saved on the Near blockchain. Content data is persisted on Gun, a decentralized graph database. And all media files are stored on the Interplanetary File System (IPFS).
Challenges we ran into
I had a bit of a learning challenge when it came to the core concepts of creating the subgraph. But once that clicked, I was able to handle writing the receipt handlers easily.
Accomplishments that we're proud of
I am especially proud to have completed the sponsor challenge for The Graph. I am proud that I was able to achieve all minimum viable product features as well!
What we learned
In general, I learned a lot about the Near Protocol, and web3 technology in general.
What's next for dCMS - A Decentralized Headless Content Management System
- Payments system.
- Configurable data persistence options (IPFS, Fleek, Storj).
- GraphQL API.
- SDK library in JavaScript and other languages.
- Incorporate API3 when it becomes available for Near.
- More field validation options (currently have required and max-length).
- Singleton types.
- More analytics features as The Graph adds more indexing options for Near.
Built With
- gun
- ipfs
- near
- nextjs
- thegraph
- typescript
Log in or sign up for Devpost to join the conversation.