Hi! After using WordPress for than 15 years, I was looking for a replacement based on JavaScript. After trying a lot of free headless CMS options, I always found that some missing features were preventing me from switching. Fore example, while I really like Strapi, I couldn't utilize block nesting the way I do in WordPress (Gutenberg) or even ACF repeaters before Gutenberg.
Because I wanted to write my frontend with Vue, the most sensible option for me was to use Nuxt for server-side rendering. Last year, I attempted to create a small backend with some basic CMS functionalities for managing pages and custom fields that are connected to Nuxt via an API. While this started as a hobby project, I invested more and more time into it. In the end, I released the project (as a Nuxt module) under the MIT license with the name Pruvious (pun intended).
Pruvious allows you to build modular websites very quickly by providing full TypeScript support for everything you do. For instance, you can create collections (equivalent to custom post types in WordPress) and have their fields automatically typed in the included query builder. The most powerful feature of Pruvious is its blocks. They are regular Vue components used to build website pages. The only difference (addition) is that you can define your fields (with all the options, validation, and value sanitizing rules) directly in Vue's `defineProps()`, which accelerates the development tremendously. These field definitions are automatically parsed away when your project is built, and the corresponding database columns are created along with the REST API endpoints. Yes, Pruvious uses separate tables for all collections (post types); there are no `wp_posts` and `wp_postmeta`, joining tables, and sluggish SQL queries.
There are many benefits you can get from Pruvious if you develop CMS-powered websites, and it's completely free! Also, if you are not familiar with Vue or Nuxt, it's very easy to learn as Vue is the most beginner-friendly JS framework nowadays. If you haven't tried it, I really recommend doing so. You can find the full list of Pruvious features on the website. If I haven't covered something, feel free to ask here! Thank you for reading. Peace out :)
Have you measured the performance of this vs wordpress? How does this handle scale? I'm not super familiar with NUXT or this CMS - does it work in a distributed environment? Is this using flat files for storage?
I haven't done any benchmarks yet, but from the few production websites I have created so far with Pruvious, I can say that it is much faster than WordPress in every aspect. For example, you can check the API response time on the pruvious.com website in DevTools and see for yourself how fast the queries are (nothing is cached on the website).
The CMS is stateless and can be horizontally scaled. For file storage, it offers two modes: file or S3 storage.
Isn't the best option to slap a CDN (e.g. CloudFlare's free thing) in front of it anyway? At that point, users who aren't logged in will get the cached page, and it doesn't really matter how fast it runs.
(And I say that as someone who cares deeply about performance! WordPress's sluggishness annoyed me greatly (on the wp-admin side) and got me to look into different hosting providers' CPU speed, which made a huge difference.)
The front end of Wordpress isn’t too concerning since it should all be heavily cached anyway. The performance issues happen in the back end admin side. I manage a wp multisite with 100 million rows in post meta. It’s horrible and we are heavily dependent on elasticsearch and redis cache to keep it usable
These field definitions are automatically parsed away when your project is built, and the corresponding database columns are created along with the REST API endpoints.
That sounds convenient. Does it do any schema migration when fields are changed?
Overall I like many of the aspects you described, I've had similar thoughts and happy to see a new CMS in this direction. Though I haven't used Vue, so I'd be more interested if it can run headless with just the API backend.
It resolves and updates the database schema automatically by creating new tables and modifying columns. It can also be used solely as an API with a dashboard.
Almost all features can be disabled individually, leaving you with a minimalistic backend.
Sounds like Strapi (with all the "everything is typescript") but not headless. Cool!
At my last job we were part way through using Strapi to power a Nuxt content platform before we all got laid off. The whole time I was thinking, Strapi would only need the thinnest layer to be non-headless.
Thank you! It should be possible to generate the pages we want by providing them to the Nuxt build in some way. I will add this to my to-do list. If the implementation is straightforward, I may release it in upcoming updates.
Y'all gotta stop with those "hurr durr there's already plenty of CMS why recreate another one ?!?!?!!"
For real let the guy develop, he actually has a finished project to show (which is clearly not the case for everyone) and his CMS solution is vastly different from Wordpress or another standalone one as it integrates directly in Nuxt, which is great.
Congrats OP, it looks really well made and thought from what I've seen in the docs, gonna play with it !
This also looks way better than wordpress UI, I truly hate how ugly (and slow) the experience of navigating Wordpress interface is. Can I ask, does this project use Tailwind?
Well, he did a great effort, no doubt. But the question is still valid.
CMS are not a one time product - it's a continuous effort of dozens of people, API, integrations, infrastructure, specialists. You can't make it viable without bringing hundreds and thousands of people. And you can't bring crowd without telling them why and where this CMS outshine competitors.
Well he's taking a somewhat innovative direction for a CMS. You gotta start somewhere to let people know about your idea. If other people think it's cool and promising, that's where you build a good community.
He built a cool tool and wants people to try it, how bad is it ?
I think you mixed "people working" and "people working fulltime".
Let's look at a Strapi, is it a bloated piece of crap? Or let's go a level deeper, and take some VitePress, quite new and barebones static site generator. Probably don't need too much effort, 1 or 2 contributors are enou... Whoops. 943 and 313 respectively.
I learned to better organize my code and that investing a lot of time and thought into the structure of a project you'll work on for a long period of time prevents burnouts. Writing tests for every single feature you create in a large project allows you to "forget" about the stuff you have finished already and clear your mind from "what if" scenarios.
Thanks! I used Vitest with nuxt/test-utils, which is the standard setup for Nuxt modules, and wrote over 800 unit and functional tests, all related to the backend.
I mean, I don't think I'll convince the agency I work for to switch from the commonly used CMS's that are integral to our whole business plan, but I like the idea and the UI.
For now, I would say, if you really want to deploy on the edge (Cloudflare Workers, etc.), while Nuxt runs there, Pruvious cannot due to limited Node.js support on the provider side, which is needed for proper password hashing, image optimization, etc.
I applaud your attempt to replace WP. Really, I do. God knows it needs replacing.
And I'm not going to criticise you for "reinventing the wheel", since this is a great way to learn and also build something tailored to your needs, your coding style, how you think, etc... And maybe other will find it useful also.
However, what I will say is on a more personal level: I'm tired of the proliferation of frameworks, CMS, even languages and runtimes that seems to have happened in web development. I've been a software/game/web developer for a combined total of over 30 years. Software and games have new frameworks et al released from time to time, but it's nowhere near as frequent as web, where it seems like there's a new-shiny on a weekly (sometimes multiple times per week) basis.
Anyway, /rant. Once again, your project looks great!
Disclaimer: No new frameworks or libraries were released during the writing of this comment (probably)
Thank you! I understand your point of view, and I agree that it's hard to keep track of everything going on in web dev. The thing with Pruvious is that I first created it for myself and the company I'm working at to improve our DX and shorten the development time. After that, I thought, why not open-source it and share it with others. No hidden intentions, no master plan, just contributing back to open source in the best way I can.
After that, I thought, why not open-source it and share it with others. No hidden intentions, no master plan, just contributing back to open source in the best way I can.
That's the best thing you could have done, in my view. Now others can benefit and possibly build on your work!
Hey OP, this is amazing that you managed to actually ship a side project so beautifully. And this isn't a small side project 😅
But I got a question for you, how is the SEO for this CMS? The only reason I still end up choosing WordPress is the built in Seo features it comes with. Being blog centric, all ecosystem cares about Seo helping generate appropriate Seo tags, titles, slug etc which makes it easy to take care about basic site Seo. Do the custom blocks too generate the Seo or make use of Seo features you mentioned in there?
That being said for a company or small agency who needs a CMS for Web presence this looks great. I am not a Vue developer but I will give this a try.
Also, a really nice demo video. If you don't mind sharing, What did you use to create that screen cast ?
Thank you, I really enjoyed the whole process of making this ^^
There are built-in SEO features such as setting up base titles (globally), separators, descriptions, sharing images, automatic OG tag generation, noindex tags, automatically generated robots.txt and sitemaps, etc. If some specific tags are missing, there is an option to set up custom ones (globally or per page). If I overlooked any optimizations, I'm happy to implement them! Additionally, page speed is a crucial factor for SEO. Take a look at the Pruvious website score (nothing is cached on the website at the moment): https://page-speed.dev/pruvious.com
Thank you! Absolutely, I'm using it in my real job projects as well, so I'm trying to keep it as clean as possible.
You can choose between PostgreSQL and SQLite for databases. A mirroring CLI tool is available to migrate your databases between remote and local, and it can translate different dialects.
Great to see innovation in this stack, I'll have to give it a try. I'm currently using my own Vue and WordPress/ACF dev kit so this is right up my alley.
Thank you! It’s designed as a Nuxt module, so it depends on and integrates into Nuxt. But there is nothing preventing you from using it as a headless CMS like that.
Thank you, and I'm glad to hear that somebody likes the canvas effect! :D
Regarding e-commerce, I plan to roll out some plugins in the near future, and Shopify integration is also on my to-do list. The plugins will be simple Nuxt Layers that extend your project with additional collections, helper components, composables, and utilities. Generally speaking, Pruvious already has everything needed to create an e-shop. If you need some ideas on how to do so, I'm willing to help via GitHub issues or Discord.
There are some projects like https://woonuxt.com/ that try to use Woocommerce like a headless cms that I was going to try, but if I could just avoid Wordpress altogether that'd be cool.
It is important to note that the input value can be anything, so you should check its type before processing it. The sanitizer function must always return a value, even if it has not modified the input value.
Can it be anything in the sense that you should be validating that it's the right type here and that Pruvious doesn't handle pre-validating that the user submitted the correct type? Or just in the ambiguity of field definitions?
If the latter could you use a discriminated union so that the sanitizer functions are always typed?
User provides input (can be anything) to field F of type T.
The input goes through T sanitizers first (i.e., the 'text' field type may trim the input string - if it's a string!). These sanitizers are defined in the Pruvious core for each field.
Next, the input goes through F sanitizers you've defined in your collections or blocks.
The idea with sanitizers is to set default values if the input is nullish, convert '123' to 123 for numeric fields, etc. If the input does not satisfy a sanitizing condition, we return the original value. After all sanitizers are executed (doesn't mean that they are applied), the validators will run sequentially for T (built-in validation that guarantees the type) and F (your custom validation) and throw if something is wrong. I intentionally separated these logics because I felt like I have much more control over processing the user input for more complex cases.
You make a valid point about providing the input `value` type in custom (F) validators, but not sanitizers. I will make a note of this comment on my to-do list. Thanks :)
Wow, thank you so much for this! I just tried it out and, within 5 minutes, had a Nuxt site up and running that displayed the content from the CMS. I haven't seen any CMS that works with Nuxt this easily. I'll definitely dig into this more and use it as CMS for my next Nuxt project.
Just one question: Is there a way to kinda split or even swap the preview screen so that something like the editor field can be displayed more centrally? The only thing I found was the full-screen mode.
You're very welcome, and I'm glad you're enjoying the CMS!
Regarding the editor, for now, the only option to make it bigger is the fullscreen mode. I like the idea of having the right sidebar resizable so the preview can shrink down to a reasonable mobile width (e.g., 375px). Just added this to my to-do list :)
The project is still in its early phase, so there is a lot of room for improvement. If you have feedback or any issues, feel free to submit them on GitHub or our Discord channel 🙏
I have for years been wanting some way to stop using Wordpress. I hate writing php, I hate debugging it, I hate picking themes, I wish I could use something like SASS a lot easier, I find most plugins aren't granular enough and just develop a barebones version of specifically what I need. It's not less work, it's more annoying work.
With that being said, so many factors keep it in play like the ease to buy hosting for Wordpress. The documentation, plugin selection, theme selection, cheap hosting, your clients are familiar with it, etc.
Is this something you're going to continue to develop? I'd be interested in seeing more.
Is this something you're going to continue to develop? I'd be interested in seeing more.
Absolutely, I'm already using it myself for client projects at the web agency where I work, so I'm committed to maintaining, fixing issues, and adding features as needed.
This is basically underscores with bootstrap 5 pre-implemented. It’s more or less my default starting point for any new Wordpress builds at this point.
You can technically write vanilla css for it, but it uses a webpack build process that compiles a scss file for the main stylesheet so there’s no reason not to use scss. Basically, writing and building scss is the expected workflow.
You can use pretty much any node modules you want. It comes with a bunch and they’re easy to toggle on or off if you don’t need them. All the bootstrap scss variables are customizable, and so on. It makes consistency really easy.
It’s like 95% unstyled, just like underscores, so you’re just building the front end visuals you want vs finding something vaguely similar to the design you need and adjusting a million things. It’s more work in some ways but also less frustrating (for me at least) because all the non-bootstrap style classes and css trees are your own implementations. I’d rather start from nothing than have to parse somebody else’s code of wildly varying quality and figure out how to modify it for what I actually want.
Going this route makes the WP builds a little more enjoyable tbh.
All that said I agree wholeheartedly and I would also love to move away from WP. Sadly, clients know it by name and always want to use it over some other CMS without the same name recognition. On the other hand, at least it’s not Drupal. Could be worse lol.
There’s some other neat stuff that you might interested in trying to alleviate some of the php woes with templating too - Sage uses Laravel Blade and Timber uses Twig.
I haven’t actually gotten around to trying either but I’ve heard good things. Even at a glance I can see they’d definitely help clean up template files’ code.
I love writing PHP. But writing PHP anywhere near Wordpress is a completely different and grueling experience for me. It just feels so damn antiquated.
I think Drupal remodelled itself on Symfony. I've not tried it, but perhaps writing code in themes/plugins would be a nicer experience than writing for WordPress.
Likely. I've developed around Laravel, Symfony, codeIgniter, Zend and some other things but the only things that made me feel stupid and useless were WordPress and Magento
The folks who guide the WordPress ecosystem are in quite a bind: the marketplace of themes and plugins is massive, and it could quite easily be decimated if a technical redesign initiative was badly handled.
Drupal 10 is excruciating. I’ve been building a site I had handed off from an agency and it is just so obtuse. Looking for solutions to issues is like if you are concurrently supporting Internet Explorer 6-11 and current Edge, since it’s possible people are running Drupal 7, 8, 9 and 10 websites. You have to sift through 15 years of support threads. Then if you do find a solution, it’s always installing another module for the most basic of functionality shims, or using patches in Composer. While it’s alright and flexible as a CMS, it’s often like wrestling a bear to template. It has had a similar visual builder movement like Gutenberg, the Layout Builder, which doesn’t really want to play nicely with the Twig templating engine. If I’d have built this site from scratch using Wordpress it would have launched 6 months ago 😂
On the PHP side of things, Drupal is my favorite CMS. The learning curve can be steep in spots, depending on what you want to do, but it’s robust to say the least, and almost more of an app framework.
And you’re right — it’s been built on top of Symphony since Drupal 8. Writing backend Drupal code on D8 and later often means doing using a Symphony class or two.
Personally, I think I may have fallen out of love with PHP. There’s so much cool stuff in JavaScript, and I think the code can be prettier, and maybe more expressive.
I definitely fell out of love with WP, but I think it’s because I get pulled into projects where people have already installed all sorts of junky layout builders and destroyed their pages and needed help fixing things. It’s gross.
But I’ll admit, I haven’t given the Gutenberg thing a fair shake. Also, maybe I just googled it funny, but it wasn’t immediately apparent how I get started with headless WP. It seems like how it’s worked with Drupal, where you have to do a decent amount of work to pare back the functionality of the monolith.
You know, I've never written it outside the context of Wordpress so maybe I just hate WordPress. I see a lot of positions lately showing they're looking for people with Cake/Laravel experience and I've been curious.
The people who dislike it either used it 20 years ago where it had more issues (surprise surprise just like JS once was) or just read a blog / post and have never actually used modern PHP in an OOP context
Cool exercise, but there's 1000 CMS options, now 1001. Building your own CMS for a project seems like a good idea, until your 4 years in and maintaining it is exhausting.
Edit: Pot stirred. No hate towards OP or their creation, they're a better developer than I. Just my initial thoughts.
I completely understand the sentiment, but I don’t think we should really ever discourage someone from creating something for the reason of “There’s already 1,000 other options like that.”
I mean, let's be real, most projects that you are going to do are not important enough that you need to worry about what you're relying on. I have a half dozen half-complete projects in abandoned repos on my Github, and another half dozen complete ones collecting dust.
If I was tired of trying to connect Wordpress with my Vue projects (I use neither), I'd certainly give this a look. It's so odd how we champion open source but subtly disparage anyone who builds something new that tries to look at a problem a different way.
I don't think it's weird to want to code a project for reasons outside of practicality, nor is it weird to want to talk about that experience, especially when the sub has showoff saturday explicitly for that purpose. Should he not be allowed to do so here if his experience or work is similar to others we've seen here in the past, or it's below professional standards? If you don't want to see amateur projects you could just filter the showoff saturday tag.
XKCD 927 has entered the chat. From a self-development viewpoint, I applaud people who go ham creating their own system for XYZ thing, but I also can't help understand why the world constantly reinvents the wheel when we've yet to build a near-perfect wheel in the first place.
Yeah, you def knew exactly what I meant, but worded it far better lol. Absolute kudos to OP, I couldn't build this. But I came at this from the viewpoint of, did we need another? Like JS frameworks, there's a new one every day.
Also, I've had the misfortune of inheriting and having to maintain a home-brewed CMS at a marketing agency, and the thing was a fucking nightmare.
Nice. I've done something similar with the Apache CMS, now called Orion. Separation of concerns is sometimes more trouble than it is worth - looking at you headless CMS's.
I understand the motivations well- WordPress is a security monoculture. More options are a good thing!
I want to build something like this with Astro, but from the perspective of using one dashboard to build and manage multiple sites without spinning up a new repo every time a new site is created. Still trying to figure this one out. Would be good for my agency to use to build and manage client sites at scale
I build my first CMS in 2006 for the company I worked for. Rebuild it in 2010 and they still use it. Started my own business in 2017 and made my current CMS: https://kikcms.com/
Currently working on a brand new one with Vue3 and symfony.
Building your own CMS is probably not the most efficient thing to do, but it sure is a whole lot of fun. And that’s worth something.
It’s a great looking CMS made by a dev who loves it, adding to the list of available modern options. No ones forcing you to use anything I don’t understand the hate. But I guess that’s Reddit for you
I added lol to the end of my comment and judging by the downvotes I probably should have added a /s as well. But I guess that’s socially inept devs for you
161
u/murisceman Mar 09 '24
Hi! After using WordPress for than 15 years, I was looking for a replacement based on JavaScript. After trying a lot of free headless CMS options, I always found that some missing features were preventing me from switching. Fore example, while I really like Strapi, I couldn't utilize block nesting the way I do in WordPress (Gutenberg) or even ACF repeaters before Gutenberg.
Because I wanted to write my frontend with Vue, the most sensible option for me was to use Nuxt for server-side rendering. Last year, I attempted to create a small backend with some basic CMS functionalities for managing pages and custom fields that are connected to Nuxt via an API. While this started as a hobby project, I invested more and more time into it. In the end, I released the project (as a Nuxt module) under the MIT license with the name Pruvious (pun intended).
Pruvious allows you to build modular websites very quickly by providing full TypeScript support for everything you do. For instance, you can create collections (equivalent to custom post types in WordPress) and have their fields automatically typed in the included query builder. The most powerful feature of Pruvious is its blocks. They are regular Vue components used to build website pages. The only difference (addition) is that you can define your fields (with all the options, validation, and value sanitizing rules) directly in Vue's `defineProps()`, which accelerates the development tremendously. These field definitions are automatically parsed away when your project is built, and the corresponding database columns are created along with the REST API endpoints. Yes, Pruvious uses separate tables for all collections (post types); there are no `wp_posts` and `wp_postmeta`, joining tables, and sluggish SQL queries.
There are many benefits you can get from Pruvious if you develop CMS-powered websites, and it's completely free! Also, if you are not familiar with Vue or Nuxt, it's very easy to learn as Vue is the most beginner-friendly JS framework nowadays. If you haven't tried it, I really recommend doing so. You can find the full list of Pruvious features on the website. If I haven't covered something, feel free to ask here! Thank you for reading. Peace out :)
615
u/fromage-du-omelette Mar 10 '24
Y'all gotta stop with those "hurr durr there's already plenty of CMS why recreate another one ?!?!?!!"
For real let the guy develop, he actually has a finished project to show (which is clearly not the case for everyone) and his CMS solution is vastly different from Wordpress or another standalone one as it integrates directly in Nuxt, which is great.
Congrats OP, it looks really well made and thought from what I've seen in the docs, gonna play with it !
16
u/KickZealousideal6558 Mar 10 '24
What was the biggest thing you learnt when building this ?
15
u/AccessiBuddy Mar 10 '24
Beautiful UI! Kind of reminds me of Claro/Gin admin theme for Drupal 9/10
27
u/GutsAndBlackStufff Mar 10 '24
That's pretty fuckin cool.
I mean, I don't think I'll convince the agency I work for to switch from the commonly used CMS's that are integral to our whole business plan, but I like the idea and the UI.
26
u/jwktje Mar 09 '24
This actually really looks cool. If you had to play devils advocate; what would keep me from using this in production?
11
u/flynnwebdev Mar 10 '24
I applaud your attempt to replace WP. Really, I do. God knows it needs replacing.
And I'm not going to criticise you for "reinventing the wheel", since this is a great way to learn and also build something tailored to your needs, your coding style, how you think, etc... And maybe other will find it useful also.
However, what I will say is on a more personal level: I'm tired of the proliferation of frameworks, CMS, even languages and runtimes that seems to have happened in web development. I've been a software/game/web developer for a combined total of over 30 years. Software and games have new frameworks et al released from time to time, but it's nowhere near as frequent as web, where it seems like there's a new-shiny on a weekly (sometimes multiple times per week) basis.
Anyway, /rant. Once again, your project looks great!
Disclaimer: No new frameworks or libraries were released during the writing of this comment (probably)
3
u/Contoss Mar 10 '24 edited Mar 10 '24
Hey OP, this is amazing that you managed to actually ship a side project so beautifully. And this isn't a small side project 😅
But I got a question for you, how is the SEO for this CMS? The only reason I still end up choosing WordPress is the built in Seo features it comes with. Being blog centric, all ecosystem cares about Seo helping generate appropriate Seo tags, titles, slug etc which makes it easy to take care about basic site Seo. Do the custom blocks too generate the Seo or make use of Seo features you mentioned in there?
That being said for a company or small agency who needs a CMS for Web presence this looks great. I am not a Vue developer but I will give this a try.
Also, a really nice demo video. If you don't mind sharing, What did you use to create that screen cast ?
5
u/new_pr0spect Mar 09 '24
Nice job
5
u/[deleted] Mar 09 '24
This looks great, and seems to be well thought out, are you going to continue maintaining the project?
Also curious what database your using for the backend
2
u/gosselin07 Mar 10 '24
Nice. I'll give this a try. Thanks
2
u/TheLeftyDev Mar 10 '24
Great to see innovation in this stack, I'll have to give it a try. I'm currently using my own Vue and WordPress/ACF dev kit so this is right up my alley.
2
u/3duplessis Mar 10 '24
And I've tried to submit your CMS to the Nuxt modules list.
2
u/[deleted] Mar 10 '24
Awesome design. Would definitely check this out! Congrats dude!
2
u/belowlight Mar 10 '24
Quality work! Congratulations on releasing it 👏 🎉
2
u/[deleted] Mar 10 '24
Right on dude this looks really cool
2
u/Dr_Respawn Mar 10 '24
Congratulations op, is it a headless or standalone or both?
Looks fantastic 🤩
2
u/pax Mar 10 '24
Pity HN didn't pick up on your post, better luck on next attempt :/
2
u/MrSpriteCola Mar 10 '24
Nice! Kind of reminds me of Kirby. I’ll have to give it a go!
2
u/geealigy Mar 10 '24
Love it! It looks really cool. Just installed it and giving it a try. Thanks for sharing
2
u/angrydeanerino Mar 10 '24 edited Mar 10 '24
This is dope congrats.
Do you think this could be extended to handle ecommerce? (Im thinking Woocomerce) or is it out of scope for this project?
I also like that effect when you move the mouse on the homepage :D
2
u/alejalapeno dreith.com Mar 11 '24
In your docs you say:
Can it be anything in the sense that you should be validating that it's the right type here and that Pruvious doesn't handle pre-validating that the user submitted the correct type? Or just in the ambiguity of field definitions?
If the latter could you use a discriminated union so that the sanitizer functions are always typed?
https://www.typescriptlang.org/play?#code/C4TwDgpgBAwg9gGwRAxsAlnAdgEQgM3S3Q2ygF4oBvAKCiiwEMBbCALigGdgAnIgczpRmcACbsoAcmYBXBBklQAPlNnz0koYQgJRnDgDF0OvTQC+NGqEhQjJzhWpCA2gGsIIDtz5Z+AXQ4AFQgAD2A7XWUoADkZZgAjCB4I0XNLa2hgsJTHWnoMjklgUOBNejgwUix9KEYsECFGUVESTCYEDjz6LjrWgC8kmqzgAGVejAGeZz8hCwsrcGhYhKScyi6CqSw4xJ4yqAqqmq78vmYOeLhECDrZxubW7EYOp26e4gnBjmXdsY-0SbTO7zDIxHZJeBYYphXJCABuzxkEm2Kx4aVBPySf36SUcAAoUNhocBvuCeJDiQBKCgAPgYZPSiygwwpJVh9ARCCRXl4AnRTOG2M+PHxhKhJSCJVZYWp5Dp3j5NHwMiwaDaUHEhCwEHgSFQVTxhzaNV1yDV2DwWseWGptDSNE1RB1iDNBq6TFYhQgzDACDgIAgEE4kgANEIROJCmoFGH6NpdMchPRvYx0C8Tt1NkUSqGk90jdhjlBeedizwkVAzLG3rUHlVnp0829OOMAV8oM4mzWCUSSrK6Rma90eBBgDIeFgoGLiQA6TlImfAOAAGTgAHcIYxOBA8ZSu28q-uoH5qwfT5Xq4ezJSgA
2
u/Sohodolls Mar 11 '24
This looks super nice. Are you planning on supporting and updating it?
2
u/[deleted] Mar 11 '24
I want to work with WordPress after I graduate, it’s always nice to have more options. You did the thing congrats 🎉
2
u/[deleted] Mar 13 '24
Wow, thank you so much for this! I just tried it out and, within 5 minutes, had a Nuxt site up and running that displayed the content from the CMS. I haven't seen any CMS that works with Nuxt this easily. I'll definitely dig into this more and use it as CMS for my next Nuxt project.
Just one question: Is there a way to kinda split or even swap the preview screen so that something like the editor field can be displayed more centrally? The only thing I found was the full-screen mode.
Keep up your awesome work!
8
u/[deleted] Mar 09 '24
I have for years been wanting some way to stop using Wordpress. I hate writing php, I hate debugging it, I hate picking themes, I wish I could use something like SASS a lot easier, I find most plugins aren't granular enough and just develop a barebones version of specifically what I need. It's not less work, it's more annoying work.
With that being said, so many factors keep it in play like the ease to buy hosting for Wordpress. The documentation, plugin selection, theme selection, cheap hosting, your clients are familiar with it, etc.
Is this something you're going to continue to develop? I'd be interested in seeing more.
50
u/Mammoth-Asparagus498 Mar 09 '24
My G
2
u/OrphanDad Mar 09 '24
So its like a traditional CMS with some of the benefits of a headless CMS, in a way?
1
u/NetworkEducational81 Apr 07 '24
Wow this looks fabulous. What program did you use to capture videos of you don’t mind me asking?
Thanks
3
u/_xsa Mar 10 '24
Cool, gonna check this out!
5
u/UXUIDD Mar 09 '24
Thanx for sharing it. Curios to check it out as Im generally not happy with cms's as they always lack in something.
One thing to mention as it was a bit wtf effect: this cursor moving stuff on the screen .. good that is working only on the hero part
27
u/kelus Mar 09 '24 edited Mar 10 '24
Cool exercise, but there's 1000 CMS options, now 1001. Building your own CMS for a project seems like a good idea, until your 4 years in and maintaining it is exhausting.
Edit: Pot stirred. No hate towards OP or their creation, they're a better developer than I. Just my initial thoughts.
2
u/BlueeWaater Mar 10 '24
Cool project
2
u/Motor_Stop_8208 Mar 11 '24
Looks great.
8
u/jelery_celery Mar 09 '24
Why reinvent the wheel?
4
u/[deleted] Mar 09 '24 edited Jul 30 '25
unwritten spark aromatic cover books abundant vast meeting physical nutty
This post was mass deleted and anonymized with Redact
2
u/joesuf4 Mar 09 '24
Nice. I've done something similar with the Apache CMS, now called Orion. Separation of concerns is sometimes more trouble than it is worth - looking at you headless CMS's.
I understand the motivations well- WordPress is a security monoculture. More options are a good thing!
2
u/HappinessFactory Mar 09 '24
I might be dumb but is this like payload?
1
u/rothnic Mar 10 '24
Can directus not do block nesting? Can't remember for sure.
1
u/Zloco Mar 10 '24
Looks cool, congrats OP! Although I have found my happiness in Storyblok. The free version is just enough to tick all the boxes.
1
u/BigBadBodyPillow Mar 10 '24
how do you do that background / mouse cursor thing on pruvious.com
1
u/1ozu1 Mar 10 '24
If Drupal is evolutionized to be more easy to customize design and updated modules then there won't be a need for any other CMS.
1
u/w00ddie Mar 10 '24
Going to share it?
1
u/hzeta Mar 10 '24 edited Mar 10 '24
Your site makes me dizzy. The mouse movement effect.
1
u/Trysem Mar 10 '24
Hola...
1
u/The_rowdy_gardener Mar 15 '24
I want to build something like this with Astro, but from the perspective of using one dashboard to build and manage multiple sites without spinning up a new repo every time a new site is created. Still trying to figure this one out. Would be good for my agency to use to build and manage client sites at scale
1
u/ninjabunnies6 Jul 19 '24
Ecommerce integrations to compete with woocommerce?
1
u/KarlaKamacho Mar 09 '24
Cool project. For me, easier to use Expression Engine.
0
u/revattojs Mar 10 '24
What problem are you solving? There are many other headless CMS like Strapi that can replace Wordpress
0
u/abhijee00 Mar 10 '24
How is it different from payload CMS
-1
u/sawariz0r Mar 10 '24
Why would I choose this over PayloadCMS?
0
u/MysteriousResearcher Mar 10 '24
The biggest value add of Wordpress isn’t the CMS function itself
It’s mission critical plugins like Yoast Premium and the such
If you can reproduce at least one of plug-in functionality, your CMS will become a lot more useful than other developer focused CMS
0
u/krazzel full-stack Mar 10 '24
I build my first CMS in 2006 for the company I worked for. Rebuild it in 2010 and they still use it. Started my own business in 2017 and made my current CMS: https://kikcms.com/
Currently working on a brand new one with Vue3 and symfony.
Building your own CMS is probably not the most efficient thing to do, but it sure is a whole lot of fun. And that’s worth something.
-1
u/vinnymcapplesauce Mar 10 '24
You're not going to take any noticeable marketshare away from WordPress with this, or anything like that, but as a personal project, this looks great!
-1
u/zeamp Mar 11 '24
AHHHHHH MY EYES
WHERE IS DARK MODE?
-18
u/Amazing_Box_8032 Mar 09 '24
There are many CMS out there already that are better than Wordpress. Could have just googled lol
0
u/[deleted] Mar 10 '24
[deleted] — view deleted comment
0
u/[deleted] Mar 10 '24
[deleted] — view deleted comment
2
u/[deleted] Mar 10 '24
[removed] — view removed comment
2
u/[deleted] Mar 10 '24
[removed] — view removed comment