wolfiton

wolfiton

Hi everyone,

Even though I said i would wait for a MVP for WolfCMS, it’s going to be really hard to gather all the suggestions advises examples and your ideas if it will be to spread out.

So this thread is created to help centralize all the data to WolfCMS which will be built under Apache 2.0 license as suggested by @dimitarvp

I will try to bring all the info and discussions here and create a summary.

My goal in building this CMS: To create my own website with it and blog.
Why are you doing it: To learn Phoenix,Elixir and Absinthe

So WolfCMS will have the following features for the start:

  • Pages
  • Blog
  • Translations
  • Not eex template language
  • Graphql
  • Dashboard
  • SSR support(vue based framework)
  • TDD dev and end-to-end-testing
  • License Apache 2.0

Thanks everyone

Showing Posts 1 to 9

Brainiac

Brainiac

I don’t mean to be a debbie downer, but I have a strange feeling that this project would end up like firestorm, the elixir-based forum project. Instead of tackling the key product issue of being a good and usable forum, the project took on so many tangential things like graphql, mobile clients, full blown front end framework, and in the end, it is still not even usable as a production-ready forum alternative.

I’m not saying that these aren’t good technologies. They all have their appropriate use cases. But focusing on them from the get-go is going to extend your entire roadmap by at least 2 or 3 times. Not to mention that it will distract you from the main goal of being a good CMS to compete with the likes of wordpress and ghost. Each new addition spreads your attention and focus, leads to more learning and also makes the codebase harder to understand for contributors.

Not only that, but considering that adopters of your project would also be elixir devs, they would very likely be integrating it into their own project, forking it, etc. If I were to integrate this into my own projects, I would rip out everything that is considered bloat (to me) and/or just use the schemas/contexts and fully customize the frontend.

Not to mention that the more things you attempt to take on and integrate into the project, the more code bloat, refactoring, and maintenance needed.

If this is your first open source project, I suggest trying to achieve the product objectives first with as few “nice-to-haves” as possible. For example, a headless json-api cms, completely achievable with out-of-the-box phoenix. Then add in more features as the project matures.

romenigld

romenigld

Hello, @WolfCMS you will share the code or make some explanation on Blog?
What’s your purpose?

wolfiton

wolfiton OP

Sure @romenigld, the project will be under Apache 2.0 License similar to an MIT license.

On the blog part at first i want to have the following features:

  • Categories,
  • Tags,
  • Comments
  • Likes
  • Articles
    similar to Wordpress.

Also my goal is in the first post, but will write it here also:
My goal in building this CMS : To create my own website with it and my personal blog.

Thanks for the questions @romenigld

wolfiton

wolfiton OP

Well I disagree with your assumption that my project will end up like Firestorm or any other project.

Graphql has it’s advantages over json api an there are a lot of articles why, so i will not go into that, instead i would recommend you to read https://medium.com/javascript-scene/graphql-at-the-rest-aurant-f4091054e82a.

Thanks for the input @Brainiac

mindriot

mindriot

I agree with what you are saying and It is a little on the extreme side (to assume an outcome at this stage); I also agree what the essence of what he is getting at, not specifically graphql vs rest or such but more the value of focus.

Starting with a headless CMS in either api style could be a pretty great idea as it is a simpler starting point, you could use it while having created a bring your own view solution that might be in a place for others to adopt long before your view is as flexible as something like Wordpress. You would then be in a good place to build your front end goal as a optional layer. Having the parts somewhat separate does increase the use cases.

Either way I think this has the potential to be a very interesting project and I have been quite excited reading some of the surrounding topics being discussed.

wolfiton

wolfiton OP

Thanks for the suggestion @mindriot

romenigld

romenigld

Nice @wolfiton.
I was thinking to do something like you write here.
But I’m new and learning Ecto with Ecto right now.
This will be very usefull for me and safe time!

wolfiton

wolfiton OP

I wanted to get some feedback on the context design from everyone on the following:

Use a Blog context and Pages context could easily become very big to contain all the functions for:
Articles Tags Categories Comments.

So instead I want to build separated contexts for every part of the CMS so for example:

  • Article context
  • Comment context
  • Tag context
  • Category context

Does anyone have any feedback on this and pro and cons against this design pattern?

I am leaning towards the separation of context but want to see what everyone else thinks about this.

Thanks in advance

wolfiton

wolfiton OP

My personal opinion is that there is no better way to learn then create open source projects that others will use. You will get feedback and others could help you more by seeing the whole code.
Good luck with your learning @romenigld

— All posts loaded —

Where Next? Top

Trending in Discussions Top

cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
axelson
Hi there! :wave: @frigidcode and I (but mostly him) have been running an Elixir Book club, we’re almost done with Designing Elixir Syste...
New
achempion
I’ve been using Emacs as my main code editor for more than a two years. It’s a custom build version although I’ve tried doom emacs and sp...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
georgeguimaraes
Just published claude-code-elixir, a plugin marketplace for Claude Code with Elixir support. These are the plugins I’ve been using for my...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews