looking for a e2e typed CMS ideally with tRPC and directly integrated in Next.js

Hey, does someone know from a lightweight CMS which is directly integrated/coupled with/into a next.js project and has e2e type safety. It should be possible to write a CMS which can be deployed with a nextjs catch all API route and nextjs catch all page. I was wondering if someone has already accomplished that?
12 Replies
ja_iy
ja_iy2y ago
owo7 from what I've seen keystone 6 might be what your looking for https://keystonejs.com/ some others to checkout are sanity and strapi, I'm currently building a minimal cms that integrates into t3 stack with prisma mostly for learning , if it turns out any good ill send a link if want >_<
KeystoneJS: The superpowered Node.js Headless CMS for developers - Keystone 6
KeystoneJS: The superpowered Node.js Headless CMS for developers - ...
Build faster and scale further with the programmable open source GraphQL API back-end for structured content projects.
tilman0902
tilman0902OP2y ago
Hey, thanks for the suggestions. Here my thoughts about these two Options: 1.) keystone 6: Tried keystone 6 already and was not very satisfied by the types. Many return types from keystone context operations are including the any-type and are therefore not e2e typed 2.) strapi is our current solution which we use in many client projects. But we want to move away from it because it heavily relies on codegen for type generation which does not have ideal DX. Also setting up Strapi is quite a hussle and time consuming which we try to minimize for client projects. Would love to see a link to your custom solution! Are you building the admin frontend on top of prisma on your own or are you using an existing project therefore?
denolfe
denolfe2y ago
Have you checked out Payload yet? It seems like it checks all of your boxes: - Fully typed from your collection schema and types leveraged and inferred in querying API - Just released Vercel serverless support: https://github.com/payloadcms/next-payload - There are boilerplates running Payload/Next.js side-by-side (no serverless)
ja_iy
ja_iy2y ago
rip I wanted to try keystone after fin with current project O_O payload seems pretty cool, its mongo though T~T, but I guess its fine if we can have a separate sql db for app and mongo for cms. In my custom sol the admin frontend is built from scratch but it's pretty minimal. It gets auto generated from the cms schema we define but is also customizable. Can I dm further details because I don't want to crowd this thread incase people have more good recs OwO.
denolfe
denolfe2y ago
Postgres support coming next quarter 🙌 Feel free to DM 👍
fibonacid
fibonacid2y ago
For marketing websites with T3 i recommend using Sanity + GROQ. Use Zod to validate procedure output and you are done. https://dev.to/fibonacid/the-best-way-to-fetch-data-from-sanity-using-zod-57jj
DEV Community
The best way to fetch data from Sanity (using zod)
I have been building websites with TypeScript and Sanity for a few years and have learned a few...
tilman0902
tilman0902OP2y ago
Hmm.. having to learn a new query language and also manually validating the result feels a bit cumbersome if there are other systems who can validate and also generate the type from your query automatically. But thanks for you suggestion!
tilman0902
tilman0902OP2y ago
Sounds great! I will give it a try 🙂 Just to make sure: do I understand you with "fully typed" correctly that in the example https://github.com/payloadcms/next-payload#using-the-local-api the const pages = await payload.find(...) returns with a fully typed object with all the types of it's sub keys? Also regarding the upcoming Postgres Support: Will you also support cloud Postgres sub-variants like Planetscale and Neon.tech?
GitHub
GitHub - payloadcms/next-payload: A utility to deploy Payload serve...
A utility to deploy Payload serverlessly within a Next.js app - GitHub - payloadcms/next-payload: A utility to deploy Payload serverlessly within a Next.js app
denolfe
denolfe2y ago
Correct, here is an example of the typing:
denolfe
denolfe2y ago
For Postgres, we're weighing options on the technical implementation of this. We're looking into whether we want to use one of the ORMs out there like Prisma or Drizzle. We have a "community call" coming up to chat about the options.
tilman0902
tilman0902OP2y ago
Looks perfect 🚀🚀🚀 Will definitely participate in the community call! Would be great if you could share a link with me 🙂
denolfe
denolfe2y ago
Sure, I'd recommend joining the discord. No date set yet, but we'll be announcing it there. I'll DM as I don't know the policies here.
Want results from more Discord servers?
Add your server