[Pagado] Plataforma de comunidad Discourse - desarrollo para v2

Hola — Busco un desarrollador experimentado de Discourse para ayudar a preparar mi plataforma comunitaria para su lanzamiento. La instancia ya está en vivo y cuenta con un tema personalizado en su lugar (core.scss, nav.scss, nav.js), por lo que esto no es una construcción desde cero; se trata de perfeccionar los detalles.

Nota: los archivos del tema existente son solo de la capa de diseño (colores, fuentes, inyección de navegación) y no son sobrescrituras de plantillas estructurales. No se ha modificado ninguna plantilla central de Discourse.

Estoy abierto a recibir propuestas de precio fijo, con pagos estructurados por hitos.

Esto es lo que necesito:

El tema existente Ya hay un tema personalizado completo con modo claro/oscuro, una navegación personalizada que suprime la cabecera predeterminada de Discourse y colores de marca. La navegación debe renderizarse de manera consistente en todos los tipos de páginas, incluido el perfil de miembro, y necesito que alguien audite y corrija cualquier elemento que esté recurriendo a los valores predeterminados de Discourse. También es necesario cambiar el logotipo (el activo está proporcionado).

Página del portal de miembros Quiero una página de perfil personalizada que muestre el tipo de miembro (Propietario, Miembro o Concesionario), su vehículo, una insignia de estado verificado y un selector de idioma. Los enlaces a recursos mostrados en la página deben ser condicionales; por ejemplo, los propietarios ven herramientas diferentes a los miembros potenciales. Proporcionaré un boceto interactivo completo que muestre tanto los estados claro y oscuro como todas las vistas por tipo de miembro.

La página también necesita un panel de Cuentas Conectadas donde los miembros puedan autenticarse mediante OAuth de Discord y Facebook. Tras una autenticación exitosa, su ID de plataforma y nombre de usuario se escriben en Supabase (credenciales y esquema proporcionados). Ya tengo configuradas las aplicaciones OAuth; solo necesito el componente del lado de Discourse y la lógica de devolución de llamada conectada de manera limpia.

Idioma y traducción La comunidad es internacional, por lo que esto es importante. Cuando un miembro selecciona su idioma preferido (inglés, tailandés, checo, neerlandés, alemán, inglés de Nueva Zelanda), quiero que toda la interfaz de Discourse cambie: menús, notificaciones, mensajes del sistema, todo. En la primera visita, detecta su país desde la dirección IP y pídele que lo confirme. También necesito instalar y configurar el plugin Traductor de Discourse con una clave de API de DeepL (proporcionada), con botones de traducir por publicación activos y las traducciones almacenadas en caché según el ID de la publicación para reducir los costos de la API. Las páginas estáticas, incluida la puerta de enlace de miembros (que también debe ser accesible a través de los botones nativos de Discourse), deben renderizarse en el idioma seleccionado.

Niveles de confianza, grupos e integración con Tally La estructura de categorías estará lista antes de que comiences. Lo que necesito es que la configuración de niveles de confianza y grupos se conecte correctamente, de modo que los tipos de miembro (Propietario, Miembro, Concesionario) se asignen al registrarse, los grupos se mapeen a los permisos de categoría adecuados y cualquier cambio se sincronice de nuevo en Supabase. También necesito que discourse_user_id y discourse_username se expongan como parámetros de URL para los formularios incrustados de Tally, para que puedan capturarse como campos de prellenado ocultos.

Puerta de verificación de la DVLA La categoría exclusiva para propietarios debe estar protegida por una verificación de vehículo. Cuando un miembro no verificado intenta acceder a ella, ve un mensaje para ingresar su número de matrícula. Estoy construyendo el punto final de verificación yo mismo (Cloud Run, REST, completamente documentado y proporcionado), por lo que mi alcance aquí es puramente el componente del tema de Discourse: la pantalla de destino protegida, el formulario de entrada de VRM y los estados de éxito/error. Necesito a alguien que se sienta cómodo con el JS de componentes de tema basado en Ember de Discourse específicamente para esta parte.

Tema XCombo Un componente más: un solo tema de Discourse que sirve tanto como referencia como espacio de discusión para un conjunto de datos que mantengo. La primera publicación está fijada y contiene un widget de búsqueda incrustado (filtros en tiempo real desde una tabla de Supabase), un botón “Envíame la lista completa” (llama a un punto final proporcionado, Resend entrega un PDF a la dirección registrada del miembro) y un enlace que ancla hacia abajo al hilo de discusión abierto a continuación. Nuevamente, la lógica de búsqueda, el punto final y la integración de Resend están todos proporcionados; solo estás conectando el contenedor del lado de Discourse. Esto también te da una idea del flujo completo del miembro: portal → enlace de recurso → tema → búsqueda → correo electrónico.

Proporcionaré todos los activos, credenciales, acceso a Supabase y documentación al adjudicar el proyecto. Estoy dispuesto a revisar los detalles si es necesario. Por favor, indícame tu experiencia con integraciones OAuth en Discourse específicamente y si has trabajado antes con componentes de tema basados en Ember.

Muchas gracias

Editado para mayor claridad

1 me gusta

Hola @larrybmb

Esto no es realmente un proyecto pequeño y esa configuración de reemplazo de encabezado parece frágil según la descripción. Querrás asegurarte de que tu foro pueda actualizarse con las últimas versiones de Discourse (con el mínimo esfuerzo o correcciones).

¿Son 250 dólares por pago?

4 Me gusta

¿Por hito o por hora?

3 Me gusta

Hola Lilly, gracias por tu rápida respuesta. Para aclarar: los 250 dólares fueron el punto de partida para el presupuesto total del proyecto, pero estoy dispuesto a ser flexible con el presupuesto si encuentro a la persona adecuada. El alcance está bastante bien definido, así que estoy abierto a una propuesta de precio fijo con un perfil de pago dividido en hitos, si es necesario.

En cuanto a tu punto sobre el reemplazo del encabezado: no estoy solicitando ningún trabajo estructural. El tema actual no reemplaza ninguna plantilla central de Discourse. Es un componente del tema que inyecta una navegación personalizada mediante JavaScript, conectándose a discourse:ready y a los eventos de cambio de página. Puedo confirmar que funciona y ha sobrevivido al menos a las dos actualizaciones anteriores de Discourse. Lo que solicito es simplemente confirmar que se renderiza correctamente en todos los tipos de página y corregir cualquier falta. Debería ser seguro para actualizaciones tal como está, pero estaré encantado de que esto sea revisado como parte del M1.

¿Espero que esto ayude?

1 me gusta

Hola Richard, gracias por tu rápida respuesta. Para aclarar: los 250 dólares fueron el punto de partida para el presupuesto total del proyecto, pero estoy dispuesto a ser flexible con el presupuesto si encuentro a la persona adecuada. El alcance está bastante bien definido, así que estoy abierto a una propuesta de precio fijo con un plan de pagos dividido por hitos, si es necesario.

¿Espero que esto ayude?

Es al menos un trabajo de 2500 dólares, pero probablemente el doble. Probablemente sean 500 dólares solo para determinar qué quieres que haga tu tema actual y reescribirlo según los estándares de Discourse.

Buena suerte.

4 Me gusta

Hola Jay, para mayor claridad, no estoy pidiendo una reescritura de un tema existente. Estoy bastante satisfecho con mis archivos de tema actuales (son más bien archivos de diseño que cambios reales en el tema, y los proporcionaré como referencia). Estoy seguro de que funcionarán bien, pero la solicitud principal es el desarrollo de la página de perfil del miembro y los flujos relacionados. La parte del tema era más bien “echa un vistazo rápido, identifica cualquier brecha en la interfaz de usuario y da tu opinión”. No se trata de una reescritura en absoluto.

Agradezco que el presupuesto inicial pueda ser bajo para muchos; estaba pensado como un punto de partida para la negociación. Estoy encantado de compartir la especificación completa, con los detalles técnicos y los archivos, con cualquier persona interesada; intenté reflejar eso en la publicación.

Muchas gracias a todos por sus comentarios, son muy apreciados. He editado mi publicación basándome en los comentarios y para ofrecer mayor claridad.

En concreto:

los archivos del tema existentes son solo de la capa de diseño (colores, fuentes, inyección de navegación) — no son sobrescrituras de plantillas estructurales. No se ha modificado ninguna plantilla principal de Discourse. No solicito cambios estructurales, sino más bien que echen un vistazo rápido, identifiquen cualquier brecha en la interfaz de usuario y den su opinión.

Mi principal solicitud es el desarrollo de la página de perfil de los miembros y los flujos relacionados; estoy abierto a recibir propuestas de precio fijo por parte de las partes interesadas, reconociendo que la estimación inicial presentada anteriormente pudo haber sido baja, por lo que la he eliminado.

Sin un alcance de trabajo claro, esto es demasiado abierto para dar un precio fijo, pero al leer los comentarios, lo estimaría en un rango de al menos $5000-8000. Quizás menos si podemos acordar una especificación, pero esto es significativamente más que tu oferta de $250. Mi información de contacto está en mi biografía si te gustaría discutir más.

2 Me gusta

Hola @larrybmb, te he enviado un mensaje privado con una revisión detallada de la viabilidad y algunas preguntas de aclaración sobre el alcance y los supuestos de implementación. Estoy encantado de discutirlo más a fondo una vez que lo hayas revisado.

1 me gusta

Para mayor claridad, sugiero que core.scss, nav.scss, nav.js no son nombres de archivo que esperaría encontrar en un tema o componente de tema de Discourse, por lo que es muy probable que lo que has hecho sea difícil de mantener o no funcione con las otras cosas que estás solicitando. Decir que “No se han modificado plantillas principales de Discourse” sugiere que no seguiste los estándares de programación de Discourse.

2 Me gusta

Gracias, Jay, ese es un feedback genuinamente útil. Los archivos fueron creados por un contratista y, para ser honesto, no sé si siguieron correctamente las convenciones de temas de Discourse. Eso es parcialmente por lo que quiero que alguien con experiencia los revise. Si es necesario reestructurarlos en un formato adecuado de componente de tema, me gustaría que se señalara y se definiera por separado; no necesariamente como parte de este compromiso, ya que valoro que representa un esfuerzo adicional.

Para aclarar, los archivos de implementación me fueron proporcionados y los agregué a través de las pestañas de encabezado, JS y CSS del panel de administración; así que, no, supongo que en realidad no es un componente de tema estructurado como tal.

Agradezco tu feedback.

1 me gusta

Pero no quieres construir sobre una base defectuosa.

Si eso fuera el final del trabajo y fueras un aficionado, probablemente estaría bien.

1 me gusta

No digo que este sea el caso aquí, pero he escuchado cada vez más testimonios de desarrolladores a los que se les pide desarrollar desde o reparar código mal hecho generado por IA, escrito por los llamados desarrolladores que probablemente no saben mucho sobre programación. De todos modos, tendría cuidado con eso.

3 Me gusta

@pfaffman

Gracias por el consejo. Estoy encantado de compartir los archivos en privado si te interesa echarles un vistazo. No soy un aficionado, sino una startup especializada en el sector automotriz. Mis pipelines de backend son sólidos y han pasado por una revisión arquitectónica y de seguridad. Están alojados en GCP y la instancia de Discourse está alojada en la nube en Hostinger.

No diría que soy un desarrollador experto, pero he aprendido mucho por mi cuenta en los últimos 10 años, de ahí que esté pidiendo ayuda aquí y que sepa cuándo externalizar.

Pensando en voz alta por un momento, si me permiten. ¿Realmente necesito OAuth personalizado para mi caso de uso?

Las cuentas conectadas nativas, si se integran en la página del perfil del miembro, funcionarían, siempre que se pueda ajustar el texto. (Por ejemplo, quiero saber si Joe Bloggs en mi comunidad es el mismo Joe Bloggs que interactúa con mi comunidad de Facebook; extraigo el facebook_id a través de la aplicación de desarrollador de Facebook. Si este es el mismo identificador utilizado, lo cual creo que sí, podría funcionar con una marca personalizada alrededor (para que parezca una parte integrada del sitio)).

Agradecería sus opiniones.