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

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 92995 915
New
AstonJ
The obligatory hello world thread! Who are you and where are you from? :stuck_out_tongue:
4616 55835 594
New
caslu
I want to open this thread for you all to discuss and help those who really like Ash but are still hesitant to use it in a real project. ...
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
Herve37
We’re evaluating API mocking tools for OpenAPI-based projects and would love to hear what other teams are using. We’re particularly inte...
New
GES233
I’m posting this in response to Jose’s recent tweet (Cr. link) : People are sleeping on Elixir for a coding harness: Hot-code swappi...
New
_mfierro
Hello, I wrote Stop My Hand, a Scattergories-like web application using Phoenix/LiveView as my learning project for Elixir (after readin...
New

Other Trending Topics Top

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
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews