Como criar um gerador de hotsites com Java?

Gente, estou começando a programar e preciso criar um gerador de hotsite. Na verdade não sei se esse seria o nome correto para isso. O fato é que a aplicação deve permitir:

  1. Ao usuário escolher qual template usar para o seu hotsite.
  2. Ele deve poder fazer operações comuns (CRUD) para editar informações como Título da Página,
    subtítulo, inserir imagens, entre outros.
  3. Que o usuário apenas possa personalizar o hotsite através do uso do formulário. O objetivo é ser o mais simples possível. (Acrescentando informação a pergunta inicial)

Até tenho uma ideia de por onde começar, mas preciso de algumas sugestões e direções:

  1. Pensei em utilizar um padrão de projeto para estruturá-lo melhor, mas não sei qual padrão escolher. Alguma sugestão?
  2. Como uso Java em minhas aplicações, pensei em utilizar o Thymeleaf atrelado a algum framework Front-End para a geração de templates, usando Thymeleaf Dialect, mas estou com dúvidas se o Thymeleaf Dialect suporta mais de um layout por projeto. Li quase toda a documentação do Dialect, mas ainda não ficou claro para mim se é possível. Alguém saberia me dizer?
  3. Aceito outras sugestões de como eu poderia iniciar esse projeto. Realmente não sei a quem perguntar sobre isso. Qualquer sugestão, educada, será ,muito bem-vinda!

Desde já, agradeço muito! :grinning: :blush:

Você está “começando a programar” e quer montar uma estrutura dessas…

Primeiramente: ou você já programa, ou realmente está iniciando e talvez não esteja apta para fazer isso. Muito cuidado com esses lances de “sou iniciante” ou “estou começando”. Se um iniciante me pede ajuda com uma estrutura dessas, eu já digo que ele ainda não está apto. De qualquer forma, com os conceitos que você apresentou, eu acredito que você não esteja “começando a programar”. Então não declare dessa forma.

Segundamente: Tem certeza que você precisa usar Java?

2 curtidas

Entendo e respeito sua opinião sobre isso, mas coloquei dessa forma, pois me considero iniciante. Não tenho experiência avançada. Bom, na verdade não sei medir isso… Digamos, que eu seria o equivalente a uma programadora júnior. Pelo menos, acho… :sweat_smile: :joy: Como eu disse não sei medir isso. Enfim…

Escolhi Java por ser a minha linguagem de foco atual e principal, mas sei que ela não resolve todos os problemas. Então, estou aberta a sugestões.

1 curtida

Iniciante é aquele que tá aprendendo a declarar variável e usar a sintaxe básica: if, do/while, for, etc.

Java é uma linguagem poderosa, sim. Mas se tratando de web, eu acredito que você teria uma facilidade maior se trabalhasse com JavaScript.

1 curtida

Esse cara pega no pé em relação a definição de iniciante. Foca em tentar ajuda-la e não definir o conceito de iniciante. Saco

2 curtidas

Entendi. Vou arrumar a pergunta… :sweat_smile: :joy:

Entendo. Já usei NodeJS, acompanhando esse livro. Ela se mostrou bem legal para o propósito web. Meu problema com o JavaScript é entender as tals das funções de callback:sweat_smile: :joy:

Seria bom primeiro focar no Negócio, definir as funcionalidades do cliente. Não ficou claro se o usuário vai ter que lidar com código do lado servidor. Se for, seria melhor usar alguma linguagem de script como PHP, é mais popular nesse meio.

1 curtida

Pego e daí?
Se você se declara iniciante, eu vou te dar uma explicação para iniciante, que pode não condizer com o caso. É bem lógico isso.

Node? Escolha interessante. Daí, você tem um começo de pesquisa.

  1. Como o Node poderia te ajudar?
  2. Que facilidades o node traria?
  3. Como ele interage com o Front-end? O que usar no front?
  4. É uma linguagem dificil de se aprender?
1 curtida

tão logico que não precisa de uma resposta. É retórico.

Então é bem simples: Se você não é iniciante, não se declare iniciante, ou obterá resposta para iniciante. Aí, você vai pedir uma resposta mais complexa e você não vai obter por pensarmos que você é iniciante.

Então, por que você está reclamando mesmo?

1 curtida

Entendi. Perdão? :blush:

Respondendo a sua questão

O usuário não terá acesso ao código fonte. Ele apenas poderá “personalizar”, vamos dizer assim, através do preenchimento de formulários.

Não é o caso e não sei se ainda existe, mas quando eu era adolescente existiam - em portais grandes como o Google, Yahoo e até o - que permitiam a criação de são desses modelos, como HPG, Gocities. A diferença é que é algo como um hotsite.

@vanribeiro meus apontamentos não são para você, companheira. Você está tentando aprender aqui e fico feliz que tenha entendido meu ponto, agora vamos ao problema (estava respondendo o ProgramadorBR).

O seu projeto é até um tanto quanto grande. Ele poderá personalizar as coisas para o hotsite dele, e como ele vai obter esse hotsite? Os layouts será um padrão, ele poderá fazer um ou terá de escolher entre os pré-definidos?

Dependendo do caso, a resposta é diferente.

1 curtida

Tranquilo. Realmente entendo o que quer dizer. :wink: :blush:

A principio teremos 3 modelos de layouts/temas pré-definidos. Cada modelo terá um valor x, que, caso o usuário queira acrescentar mais coisas, ele poderá fazer um up-grade de assinatura, vamos dizer assim. Exemplo:

Layout 1 - gratuito - Tema básico
Layout 2 - 10,00 - Tema Aventura
Layout 3 - 30,00 - Tema Calmaria

Sobre a forma de geração de hotsites, para você ter uma ideia do que estou falando, é algo muito parecido com o site para gerenciamento de evento EventBrite Não sei já chegou a usar a parte de criação de eventos?

Como funciona a parte de criação de evento:

Depois de criar um evento, apenas com o uso de formulário, ele permite a geração de um hotsite que exibirá as informações do evento e pode ser compartilhado através de um link, que pode ou não ser customizado. Essa seria, vamos dizer assim, a “minha inspiração” de aplicação.

A diferença é que, no meu caso, o usuário poderá escolher entre os temas que deseja adquirir. Se quiser o básico, poderá fazer edições simples como título da página, subtítulo, texto e uma imagem. Se quiser mais coisa, poderá comprar esse template.

Ótimas perguntas! :thinking: :blush:

Entendi. Eu tiro por referência ou about.me .

Se o layout for um só, talvez você precise apenas ir alterando o CSS da página. Os conteúdos de texto, imagem e etc vc usa o JS mesmo pra ir fazendo. (PS: vale a pena dar uma estudada em SASS!0

1 curtida

Boa. Andei dando uma pesquisada sobre pré-processadores, pois quero usar o Bootstrap ou o Meteore ou outro Framework Front-End, para “facilitar” o layout/template/design/tema… :joy:

Meu “forte” e preferência é Back-End, mas, nesse caso, entendo a necessidade de conhecer um pouco do Front.

nesse caso tem muita necessidade, IMO.

Imagine que eu adquiri o Layout 3, que por padrão vem em azul.

Aí, eu escolho que quero ele em vermelho. Só preciso enviar a solicitação e meu projeto troca o CSS.

2 curtidas

Sim! Você está certíssimo! Só uma curiosidade, o que é IMO?

É uma gíria em inglês. In My Opinion, tem a variante IMHO, In my humble opinion. ^^

1 curtida