¿Cómo aprender más sobre el back-end de Discourse?

Busqué y encontré muchas cosas antiguas porque Discourse se actualizó mucho. Me gustó leer el trabajo que llevó a tu éxito.

No soy desarrollador, pero he pagado a muchos “desarrolladores” que trabajan 1/10 de lo que yo puedo (por supuesto, no en Discourse). Así que estoy aquí intentando aprender más :slight_smile:
Principalmente porque nací en un país sin tanta disciplina, responsabilidad o motivación para hacer cosas y hacer es algo que llevo conmigo desde que recuerdo mi vida.
Uso computadoras desde DOS y usé las primeras PC con Windows 3.1. Así que probablemente estoy con mucha gente que empezó jugando y luego se involucró en sus propias comunidades tecnológicas y/o negocios.
Puedo leer líneas básicas de código, era muy bueno en lógica en la escuela, pero no tengo más experiencia y sé que no es suficiente.
Instalé nuestra instancia de Discourse más un par de aplicaciones en Linux porque estoy en Linux desde hace más de 10 años.
Siempre me sentí cómodo con la terminal y el back-end. El CSS me da dolor de cabeza, así que estoy en camino de dejar eso para los artistas (!)
Los freelancers aleatorios son peores que arreglar cosas por mi cuenta y 2/5k para resolver cosas específicas en una lista de 10/15 tareas pendientes son demasiado caros para mí hasta escalar o un par de años para mis finanzas.
Soy ENFJ y una especie de ingeniero de calle si los ingenieros reales aquí no me prohíben por sacrilegio o trolling con estas palabras :joy::folded_hands:

El punto

¿Es posible que alguien con mi muy poca experiencia en TI, aprenda Rails, use la API y las aplicaciones de back-end con las que se construye Discourse?
Usas Sidekiq y sabes cómo buscar, modificar y eliminar todas las cosas de Rails y realmente quiero lo mismo.

EDITADO: Por favor, no me malinterpretes. No estoy preguntando cómo ser desarrollador, sino entendiendo más para mejorar mi trabajo con ellos.
Conocer las bases para guiar a desarrolladores sin experiencia en el back-end de Discourse (que es muy común hoy en día) es obligatorio para mí y deseo aprender.

¡Gracias por leer!

5 Me gusta

Quizás valdría la pena empezar con el plugin Data Explorer. Si puedes construir consultas en la base de datos, interactivamente, para obtener resultados interesantes, empezarás a hacerte una idea. Luego podrías ejecutar esas consultas tú mismo en la consola de Rails, o (quizás) usando la API. ¡Pero en ese punto estarías por delante de mí!

Por mi parte, creo que el primer paso sería comprender el modelo de datos, a través de las tablas de la base de datos. Pero quizás haya un manual de la API que sea una forma más fácil de empezar.

(No creo que necesites entender la pila tecnológica que se ejecuta dentro del contenedor Docker, para tus propósitos).

4 Me gusta

Puedes consultar los temas de Desarrollo de plugins de Discourse - Parte 1 - Crear un plugin básico. Hay bastante que puedes hacer sin un conocimiento sólido de Rails. Sin embargo, necesitarás dominar JavaScript para hacer cualquier cosa en el frontend. Para mí, eso ha sido mucho más difícil que Ruby o Rails.

4 Me gusta

Antes de desarrollar componentes de temas y plugins para Discourse, nunca había escrito una sola línea de código CSS, no tenía experiencia en desarrollo front-end con Javascript y era la primera vez que me exponía a Ruby en mi vida. ¿Educación en informática? Todavía estaba esperando mi carta de aceptación universitaria en ese momento. Así que creo que todo es posible.

Mi experiencia es que, como administrador de un foro, entiendo la mayoría de las funciones que Discourse proporciona a un administrador ordinario, y luego empiezo intentando cambiar los componentes de temas oficiales de Discourse; esto es realmente doloroso al principio. Pero después de unos cientos de console.log, pronto entendí el propósito de cada función de la api. El siguiente paso es entender qué se almacena y qué se hace en las diferentes carpetas del código fuente de Discourse. Bueno, no puedo decir cuánto entiendo hasta ahora, pero es suficiente para que desarrolle plugins para mi foro.

7 Me gusta