Executando verificação de segurança...
7

Como criar um CMS?

Olá seres programadores. Está é a minha primeira publicação no TabNews, então se algo estiver fora do padrão, me perdoem.

CONTEXTO
Em 2021, com 16 anos, fiz um curso tecnico de Desenvolvimento de Sistemas. Nele aprendi HTML, CSS, praticamente nada de JavaScript, MySQL, PHP e algumas outras coisas. Foi bem bacana, aprendi bastante coisa.
No ano que terminei o curso, 6 meses depois também terminei o ensino médio. Por alguma razão na mente brilhante de um adolescente. Decidi ficar o ano seguinte "Somente estudando". Conclusão? Não estudei nada, esqueci 95% do conteudo do curso e acabei em um emprego 6x1, farmácia.

Hoje com 19, resolvi correr atrás do tempo perdido. Estou montando meu portfólio e buscando ideas de projeto para adicionar neles, e algo que pensei foi criar um Sistema de Gestão de Conteúdos (CMS).

Por que um CMS?
Em um futuro não tão longe, se tudo der certo, quero criar e vender sites. Coisas simples mesmo, como por exemplo Landing Pages, Portfólios para prestadores de serviços, E-commercers, etc. Não quero viver disso para sempre, mas quero ter essa experiência.
Então, por ser preguiçoso, não quero ter que alterar na mão o site dos meus clientes toda vez que eles quiserem trocar sei la, uma foto em uma determinada sessão.

Então a minha ideia é criar uma plataforma em que eles tenham acesso ao/s site/s deles e possam mexer nessas coisas básicas como: trocar textos e fotos, mudar cores, adicionar links, sessões, apagar coisas, nada complexo, só segurar e arrastar, copiar e colar, mudar ou apagar.

COMO?
Como dito no contexto, estou com a aura da programação, o KI, bem bem baixo, então gostaria de saber, qual a melhor forma de criar uma plataforma assim?
Estou começando a estudar JavaScrip (Node, Next) é possivel?
Ou seria melhor no PHP?
ou Qualquer outra linguagem
Independente da linguagem, quais ferramentas eu preciso para isso?
Qual seria o Banco de Dados ideal?

enfim, espero estar usando o TabNews da maneira correta KKKKKK

abraços

Carregando publicação patrocinada...
5

Se quer fazer essas coisas, recomendo estudar wordpress e hospedagem. Assuntos que você deve conhecer:

  • Wordpress
  • Elementor
  • Registro de domínio
  • Apontamentos DNS (Cloudflare / CPanel / Registro.br)
  • Marketing
  • Web design

Agora, se você quer ser programador, aí a lista de conhecimentos é muito maior e aprofundada. Sendo web a sua escolha, eu recomendo estudar PHP como backend, se aprofundar em orientação a objetos e partir para aprender Laravel. Esse framework vai te dar agilidade e facilidade no desenvolvimento de sistemas/sites. Recomendo também dar uma olhada por Next só para ver como funciona, o que tem a agregar e tudo mais.

Sobre banco de dados, já é uma discussão antiga aqui, não existe melhor banco, assim como não existe melhor linguagem. Cada uma tem a sua aplicação e área que foi desenvolvida para funcionar melhor. Sendo web, os bancos mais comuns são MySQL e PostgreSQL.

Eu já usei ambos e particularmente gosto mais do PostgreSQL (por ser mais robusto, mais rápido, mais usado em aplicações grandes), mas entendo que pra quem é iniciante ou não conheça muito sobre bancos, o MySQL vai ser a porta de entrada pra esse mundo, pois o PostgreSQL tem mais recursos como pg_hba (controla quem pode acessar o banco) que dificultam pra quem é novo.

Tem diversos roadmaps para seguir estudando programação, aqui mesmo você pode encontrar alguns recentes digitando na busca, mas para web, conhecimentos como os que vou listar são bem vindos.

  • HTML
  • CSS
  • TailwindCSS
  • JavaScript
  • PHP
  • PHP Orientado a Objetos
  • Laravel
  • SQL
  • NodeJS
  • Docker
  • Terminal Linux

São muitos conhecimentos, mas com o tempo dá certo

2

Quão fundo no iceberg você quer ir?

Se vc quer só "vender sites", um wordpress atende bem.

Se vc quer ir além, com mais personalização no frontend, vai ter que procurar um headless CMS, como o strapi, por exemplo. Ele te dá um backend e vc precisará criar um frontend do zero, e assim poderá personaliza-lo como quiser.

Agora, se vc quer ir fundo de vdd e criar um CMS do zero, vai ter que dominar muito de infra (pois quantas pessoas poderão acessar seu CMS de uma vez?), arquitetura (vale deixar isso num monolito, em microsservicos, ou vai tentar outros desenhos arquiteturais?), segurança (a última coisa que você quer é estar envolvido num escândalo de vazamento de dados...), entre outras coisas.

A arquitetura básica de um CMS é isso.

sequenceDiagram
BD-->>Backend: Recuperação de Dados
Frontend->>Backend: RequisiçãoUsuarioFinal
Backend->>Frontend: RespostaUsuarioFinal
Painel_Admin->>Backend: RequisiçãoAdministrador
Backend->>Painel_Admin: RespostaAdministrador
Backend-->>BD: Persistencia de dados

Mas, dependendo do que vc quiser, haverá desenhos diferentes.

Vale lembrar que o Tabnews é um CMS. Dá uma estudada no codigo fonte e na arquitetura do Tabnews. Sua mente vai clarear.

2

Olá tudo bem ?

Para CMS existe diversas tecnologias prontas que você pode usar. Você poderia usar o WORDPRESS que é um dos ou o mais famoso CMS que tem, ele é feito em PHP e caso queira se aprofundar muito séria bom ter uma base de PHP. Mas ele funciona como você fala, de clica e arrasta. Tem diversos plugins que facilita a criação de site, um deles é o Elementor. Enfim existe cursos gratuitos na internet e recomendo olhar o canal cursos em vídeo, lá tem uma playlist sobre WordPress.

Att. Luciano Gouveia

1

Cara, para um CMS novo voce tem muitas opções, se voce quer se manter dentro do ecossistema Javascript, voce tem a opção de utilizar o Strapi ou um Git-based CMS, onde voce poderá ter um blog com basicamente arquivos .md.
Estou utilizando esse padrão no meu blog, vou deixar os links aqui para voce dar uma olhada:

https://www.boxbox-radio.com/blog
https://content.nuxt.com/
https://nuxt.studio/

Na minha visão muitos e muitos sites e empresas ainda utilizam Wordpress e por isso um profissional com conhecimento bacana de PHP e um pouco de infra tem essa amplitude maior de vagas, então pode ser um caminho legal.

Falando de gosto pessoal, se eu fosse começar um CMS hoje, do zero, eu não faria com Wordpress, acho que existem opções mais customizáveis, melhores e com menos complexidade.
Existem algumas opções como Storyblok e também o Tina.io

0