[Pago] Plataforma de Comunidade Discourse - desenvolvimento para v2

Olá — Estou procurando um desenvolvedor experiente em Discourse para ajudar a preparar minha plataforma comunitária para o lançamento. A instância já está ao ar e possui um tema personalizado em vigor (core.scss, nav.scss, nav.js), então não se trata de uma construção do zero — é sobre acertar os detalhes.

Nota: os arquivos de tema existentes são apenas da camada de design (cores, fontes, injeção de navegação) — não são substituições de modelos estruturais. Nenhum modelo central do Discourse foi modificado.

Estou aberto a receber propostas com preço fixo — pagamento estruturado em marcos.

Aqui está o que preciso:

O tema existente Já há um tema personalizado completo com modo claro/escuro, uma navegação personalizada que suprime o cabeçalho padrão do Discourse e cores da marca. A navegação precisa ser renderizada consistentemente em todos os tipos de página — incluindo o perfil do membro — e preciso que alguém audite e corrija qualquer coisa que esteja voltando para os padrões do Discourse. O logotipo também precisa ser substituído (ativo fornecido).

Página do portal do membro Quero uma página de perfil personalizada que mostre o tipo do membro (Proprietário, Membro ou Concessionária), seu veículo, um selo de status verificado e um seletor de idioma. Os links de recursos mostrados na página precisam ser condicionais — por exemplo, proprietários veem ferramentas diferentes de membros prospectivos. Fornecerei um mockup interativo completo mostrando os estados claro e escuro e todas as visualizações por tipo de membro.

A página também precisa de um painel de Contas Conectadas onde os membros podem autenticar-se via Discord e Facebook OAuth. Após autenticação bem-sucedida, o ID da plataforma e o nome de usuário são gravados de volta no Supabase (credenciais e esquema fornecidos). Já configurei os aplicativos OAuth — preciso apenas do componente do lado do Discourse e da lógica de callback conectada de forma limpa.

Idioma e tradução A comunidade é internacional, então isso é importante. Quando um membro selecionar seu idioma preferido (Inglês, Tailandês, Tcheco, Holandês, Alemão, Inglês da Nova Zelândia), quero que toda a interface do Discourse mude — menus, notificações, mensagens do sistema, tudo. Na primeira visita, detecte o país do usuário pelo IP e peça para confirmar. Também preciso que o plugin Discourse Translator seja instalado e configurado com uma chave de API do DeepL (fornecida), com botões de traduzir por post ativos e traduções armazenadas em cache com base no ID do post para reduzir custos de API. Páginas estáticas, incluindo o portal do membro (que também precisa ser acessível através dos botões nativos do Discourse), precisam ser renderizadas no idioma selecionado.

Níveis de confiança, grupos e integração com Tally A estrutura de categorias já estará pronta antes do seu início. O que preciso é que a configuração de níveis de confiança e grupos seja conectada corretamente — para que os tipos de membros (Proprietário, Membro, Concessionária) sejam atribuídos no registro, os grupos mapeiem as permissões corretas de categoria e qualquer alteração seja sincronizada de volta ao Supabase. Também preciso que discourse_user_id e discourse_username sejam expostos como parâmetros de URL para formulários Tally incorporados, para que possam ser capturados como campos de preenchimento automático ocultos.

Portão de verificação DVLA A categoria exclusiva para proprietários precisa ser protegida atrás da verificação do veículo. Quando um membro não verificado tentar acessá-la, verá um prompt para inserir seu número de registro. Estou construindo o endpoint de verificação eu mesmo (Cloud Run, REST — totalmente documentado e fornecido), então seu escopo aqui é puramente o componente de tema do Discourse: a tela de aterrissagem protegida, o formulário de entrada de VRM e os estados de sucesso/erro. Preciso de alguém que se sinta confortável com o JS de componentes de tema baseado em Ember do Discourse especificamente para esta parte.

Tópico XCombo Mais um componente — um único tópico do Discourse que serve como referência e espaço de discussão para um conjunto de dados que mantenho. O primeiro post está fixado e contém um widget de busca incorporado (filtros em tempo real a partir de uma tabela Supabase), um botão “Envie-me a lista completa” (chama um endpoint fornecido, o Resend entrega um PDF ao endereço registrado do membro) e um link que ancora para baixo até o thread de discussão aberto abaixo. Novamente, a lógica de busca, o endpoint e a integração com o Resend são todos fornecidos — você está conectando apenas o container do lado do Discourse. Isso também dá a você uma noção do fluxo completo do membro: portal → link de recurso → tópico → busca → e-mail.

Fornecerei todos os ativos, credenciais, acesso ao Supabase e documentação após a concessão. Estou disposto a explicar melhor se necessário. Por favor, informe-me sobre sua experiência com integrações OAuth no Discourse especificamente e se já trabalhou com componentes de tema baseados em Ember antes.

Muito obrigado

Editado para clareza

1 curtida

Oi @larrybmb

Isso não é realmente um projeto pequeno e essa configuração de substituição de cabeçalho parece frágil com base na descrição. Você vai querer garantir que seu fórum possa ser atualizado com as versões mais recentes do Discourse (com o mínimo de esforço ou correções).

Então, são $250 por pagamento?

4 curtidas

Por marco ou por hora?

3 curtidas

Olá, Lilly, obrigado pela sua rápida resposta. Para esclarecer: US$ 250 foi o ponto de partida para o orçamento total do projeto, mas estou aberto a ser flexível quanto ao orçamento para a pessoa certa. O escopo está bem definido, então estou aberto a uma proposta de preço fixo, com o pagamento dividido em marcos, se necessário.

Sobre o seu ponto referente à substituição do cabeçalho: não estou pedindo nenhuma alteração estrutural. O tema atual não substitui nenhum modelo central do Discourse. É um componente do tema que injeta uma navegação personalizada via JavaScript, conectando-se ao evento discourse:ready e aos eventos de mudança de página. Posso confirmar que isso funciona e sobreviveu a pelo menos as duas atualizações anteriores do Discourse. O pedido é simplesmente confirmar que ele é renderizado corretamente em todos os tipos de página e corrigir eventuais falhas. Deve ser seguro para atualizações como está, mas estou aberto a que isso seja revisado como parte do M1.

Espero que isso ajude!

1 curtida

Olá Richard, obrigado pela sua rápida resposta. Para esclarecer: US$ 250 foi o ponto de partida para o orçamento total do projeto, mas estou disposto a ser flexível quanto ao orçamento para a pessoa certa. O escopo está bem definido, então estou aberto a uma proposta de preço fixo com um perfil de pagamento dividido em marcos, se necessário.

Espero que isso ajude!

É pelo menos um trabalho de $2500, mas provavelmente o dobro disso. Provavelmente custa $500 apenas para entender o que você quer que seu tema existente faça e reescrevê-lo de acordo com os padrões do Discourse.

Boa sorte.

4 curtidas

Oi, Jay — para deixar claro, não estou pedindo uma reescrita de um tema existente. Estou bastante satisfeito com meus arquivos de tema atuais (eles são mais parecidos com arquivos de design do que com alterações reais de tema, e serão fornecidos como referência) — tenho certeza de que vão se sustentar. Mas o principal pedido é o desenvolvimento da página de perfil do membro e dos fluxos relacionados. A parte do tema foi mais para “dar uma olhada rápida, identificar lacunas na interface do usuário e dar feedback” — nada de reescrita.

Agradeço que o orçamento inicial possa ser baixo para muitos — foi pensado como um ponto de partida para negociação. Estou disposto a compartilhar a especificação completa, com os detalhes técnicos e os arquivos, com quem estiver interessado — tentei capturar isso no post.

Muito obrigado a todos pelos comentários — são muito apreciados. Editei minha postagem com base nos comentários e para fornecer mais clareza.

Ou seja:

os arquivos do tema existente são apenas da camada de design (cores, fontes, injeção de navegação) — não são substituições de modelo estrutural. Nenhum modelo central do Discourse foi modificado. Não estou pedindo nenhuma alteração estrutural, mas sim uma rápida análise, identificação de lacunas na interface do usuário e feedback.

Minha principal solicitação é o desenvolvimento da página de perfil do membro e fluxos relacionados — estou aberto a propostas de preço fixo apresentadas por partes interessadas — reconhecendo que o ponto de partida apresentado anteriormente pode ter sido baixo, então o removi.

Sem um escopo de trabalho claro, isso está um pouco solto demais para definir um preço fixo, mas lendo os comentários, eu daria uma faixa de pelo menos US$ 5.000 a US$ 8.000. Talvez seja menor se pudermos concordar com uma especificação, mas isso é significativamente mais do que sua oferta de US$ 250. Meu contato está na minha bio caso queira discutir mais.

2 curtidas

Olá @larrybmb, enviei uma mensagem privada com uma análise detalhada de viabilidade e algumas perguntas de esclarecimento sobre as premissas de escopo e implementação. Fico à disposição para discutir mais assim que você revisar.

1 curtida

Para esclarecer, estou sugerindo que core.scss, nav.scss e nav.js não são nomes de arquivo que eu esperaria encontrar em um tema ou componente de tema do Discourse. Portanto, é muito provável que o que você fez seja difícil de manter ou não funcione com outras coisas que você está pedindo. Dizer que “nenhum modelo principal do Discourse foi modificado” sugere que você não seguiu os padrões de programação do Discourse.

2 curtidas

Obrigado, Jay, esse é um feedback genuinamente útil. Os arquivos foram criados por um contratado e, para ser honesto, não sei se seguiram as convenções de temas do Discourse corretamente. Isso é parcialmente o motivo pelo qual quero que alguém experiente os analise. Se for necessário reestruturá-los no formato adequado de componentes de tema, gostaria que isso fosse sinalizado e definido separadamente — não necessariamente executado como parte deste contrato, pois sei que representa um esforço adicional.

Para esclarecer, os arquivos de implementação foram fornecidos a mim e eu os adicionei através das abas Cabeçalho, JS e CSS do painel administrativo — então, não, acho que na verdade não é um componente de tema estruturado como tal.

Agradeço o feedback.

1 curtida

Mas você não quer construir sobre uma fundação defeituosa.

Se esse fosse o fim do trabalho e você fosse um entusiasta, provavelmente estaria tudo bem.

1 curtida

Não digo que seja esse o caso aqui, mas tenho ouvido relatos cada vez mais frequentes de desenvolvedores sendo solicitados a desenvolver ou reparar códigos malfeitos gerados por IA (vibe-code) escritos por supostos desenvolvedores que provavelmente não sabem muito sobre programação. De qualquer forma, eu teria cautela quanto a isso.

3 curtidas

@pfaffman

Obrigado pelo conselho — ficarei feliz em compartilhar os arquivos de forma privada se você tiver interesse em dar uma olhada. Não sou um hobbista, mas sim uma startup em um nicho automotivo. Meus pipelines de back-end são sólidos e passaram por uma revisão arquitetural e de segurança. Eles estão hospedados no GCP e a instância do Discourse está na nuvem, na Hostinger.

Não diria que sou um desenvolvedor especialista, mas aprendi muito por conta própria nos últimos 10 anos, por isso estou pedindo ajuda aqui e sabendo quando terceirizar.

Pensando em voz alta, se me permite. Será que realmente preciso de OAuth personalizado para o meu caso de uso?

As contas conectadas nativas, se incorporadas na página de perfil do membro, funcionariam — desde que o texto pudesse ser ajustado? (Por exemplo: quero saber se Joe Bloggs da minha comunidade é o mesmo Joe Bloggs que interage com minha comunidade no Facebook — extraio o facebook_id através do desenvolvedor de aplicativos do Facebook — então, se for o mesmo identificador usado (o que acredito que seja), isso poderia funcionar com uma marcação personalizada ao redor (para que pareça uma parte integrada do site?)

Agradeceria opiniões.