How to learn more about Discourse back-end?

I searched and I found a lot of old stuff because Discourse was heavy updated. I liked to read the work leading your sucess.

I’m not a dev but I paid a lot of ‘devs’ that work 1/10 as I can (of course, not on Discourse). So I’m here trying to learn more :slight_smile:

Primarly because I born in a country without so much discipline, responsability or motivation to do things and doing is on me from I remember my life.

I’m using computers from DOS and used the first 3.1 Windows PC’s. So probably I’m with a lot of folks around that started playing and then gets involved into their own tech related communities and/or business.

I can read basic lines of code, I was very good at logic on school but I don’t have more background and I know that’s not enough.

I’ve installed our Discourse instance plus a couple of apps on Linux because I’m in Linux from more than 10 years ago.

I always felt at home with terminal and back-end. CSS gives me headache so I’m on the way leaving that for artists (!)

Random freelancers are worst than solo breaking things and 2/5k for solve specific things in a 10/15 to-do list are too expensive for me until scaling or a couple of years to my finance.

I’m ENFJ and kind of street engineer if the real engineers here don’t ban me for sacrilege or trolling with this words :joy::pray:

The point

Is possible to someone with my very little IT background, learn rails, use the API and the back-end apps where Discourse is built?

You use sideqik and know how to search, modify and delete all the things from Rails and I really want the same.

EDIT: Please, don’t get me wrong. I’m not asking how to be a developer but understanding more to improve my work with them.

Knowing the basis for guiding developers without experience on Discourse back-end (that’s very common those days) is mandatory for me and I wish to learn.

Thanks for read!


It might be worth starting with the Data Explorer plugin. If you can construct queries on the database, interactively, to get interesting results, you will start to get a picture. You could then run those queries yourself in the Rails console, or (perhaps) using the API. But you would at that point be ahead of me!

For myself, I think getting an understanding of the data model, by way of the database tables, would be the first step. But maybe there’s an API howto which is an easier way in.

(I don’t think you need to understand the technology stack which runs inside the Docker container, for your purposes.)


You can look at the Developing Discourse Plugins - Part 1 - Create a basic plugin topics. There is a good bit that you can do without a firm understanding of rails. You will need to get a grip on javascript to do anything on the front end, though. For me, that’s been much harder than ruby or rails.


Before developing theme components and plugins for Discourse, I had never written a single line of CSS code, had no Javascript front-end development experience, and was exposed to Ruby for the first time in my life. IT education background? I was even still waiting for my college acceptance letter at that time. So I think eveything is possible.

My experience is that as a forum Admin, I understand most of the functions provided by discourse to an ordinary administrator, and then start by trying to change the official theme components of discourse - this is really painful at the beginning. But after about a few hundred console.log, I soon understood the purpose of each function of the api. The next step is to understand what is stored and what is done in the different folders in the discourse source code. Well, I can’t say how much I understand until now, but it’s enough for me to develop plugins for my forum.