No description
  • Vue 72.4%
  • JavaScript 24.4%
  • Sass 2.6%
  • Shell 0.5%
Find a file
2026-06-25 15:53:05 -03:00
.github Migração/Unificação do Sementes do Xingu com o CMS: 2023-12-23 10:21:25 -03:00
.vscode Adiciona nova rota para listar menus a serem traduzidos, melhora a interface de edição de traduções com feedback visual sobre o progresso e ativa a formatação automática ao salvar no editor. Atualiza a apresentação das porcentagens de tradução para incluir classes CSS de estilo. 2025-06-21 00:01:30 -03:00
api Spacing box, full widtgh color background fix, translate fix 2026-06-25 15:53:05 -03:00
assets feat: adiciona suporte para alinhamento de texto no editor e melhorias de estilo 2026-03-19 22:35:54 -03:00
components Spacing box, full widtgh color background fix, translate fix 2026-06-25 15:53:05 -03:00
data Adiciona controles de espaçamento interno e externo para seções e colunas no editor dinâmico, permitindo ajustes de padding e margin em pixels. Refatora a lógica de atributos para garantir reatividade e atualiza a estilização dos componentes relacionados ao espaçamento. 2026-03-07 00:27:07 -03:00
docs Merge branch 'test/merge-no-fix-rebased' 2026-06-08 16:01:41 -03:00
extensions feat: novo editor de textos, correção de templates em produção e melhorias gerais 2026-03-19 20:50:29 -03:00
layouts Merge branch 'production' from terrakrya/cms 2026-05-29 14:51:43 -03:00
middleware Big bang 2020-07-17 18:07:16 -03:00
migrations Adiciona criação da página da home automática na criação do site 2025-11-06 00:10:06 -03:00
mixins feat: novo editor de textos, correção de templates em produção e melhorias gerais 2026-03-19 20:50:29 -03:00
pages Spacing box, full widtgh color background fix, translate fix 2026-06-25 15:53:05 -03:00
plugins feat: novo editor de textos, correção de templates em produção e melhorias gerais 2026-03-19 20:50:29 -03:00
scripts Handle inline comments in backup env parsing 2026-06-08 16:13:07 -03:00
static Corrige as datas dos eventos da agenda 2025-11-06 15:21:06 -03:00
store Altera o código idioma padrão de pt-BR para PT 2025-07-30 23:06:19 -03:00
utils Implementa ordem do menu para features 2022-07-18 16:13:20 -04:00
.dockerignore Componente html, IA provider customizavel 2026-06-08 15:58:15 -03:00
.editorconfig Big bang 2020-07-17 18:07:16 -03:00
.env.sample Migração/Unificação do Sementes do Xingu com o CMS: 2023-12-23 10:21:25 -03:00
.eslintrc.js Adiciona CRUD de sites 2020-07-18 21:15:47 -03:00
.gitignore Componente html, IA provider customizavel 2026-06-08 15:58:15 -03:00
CHANGELOG.md Substitui o envio de email do smtp para usar a api transacional do mailchimp com o objetivo de contornar o problema dos ips dinâmicos do servidor em relação às regras do SMTP 2025-10-08 16:15:44 -03:00
connect_database.sh Adiciona script para conectar no banco de dados baseado na variável de ambiente MONGO_URI 2023-03-28 14:32:50 -03:00
development.docker-compose.yml Melhora env docker/mongo 2022-02-02 15:23:57 -03:00
development.dockerfile Componente html, IA provider customizavel 2026-06-08 15:58:15 -03:00
Dockerfile Componente html, IA provider customizavel 2026-06-08 15:58:15 -03:00
email.js Substitui o envio de email do smtp para usar a api transacional do mailchimp com o objetivo de contornar o problema dos ips dinâmicos do servidor em relação às regras do SMTP 2025-10-08 16:15:44 -03:00
jsconfig.json Big bang 2020-07-17 18:07:16 -03:00
nuxt.config.js Merge branch 'production' from terrakrya/cms 2026-05-29 14:51:43 -03:00
package.json Merge branch 'production' from terrakrya/cms 2026-05-29 14:51:43 -03:00
production.docker-compose.yml fix port env 2026-05-29 12:50:25 -03:00
README.md feat: novo editor de textos, correção de templates em produção e melhorias gerais 2026-03-19 20:50:29 -03:00
stylelint.config.js Merge remote-tracking branch 'origin/production' into cssandmergeorigin 2025-12-18 10:49:07 -03:00
yarn.lock feat: adiciona suporte para alinhamento de texto no editor e melhorias de estilo 2026-03-19 22:35:54 -03:00

VUE CMS

Um CMS básico para criação de sites de forma rápida mas com grande poder de customização

Objetivo desse projeto

Este projeto nasceu da necessidade de criar sites de forma rápida com uma stack consistente e de fácil manutenção/personalização. A idéia é ter uma base pronta e bem estruturada e que permita que novas funcionalidades e mudanças na estrutura sejam feitas sem toda a complicação de CMS como o wordpress que é complexo por sua natureza generalista.

Tecnologias utilizadas

Englobando todo o projeto está o Nuxt.js com alguns módulos da comunidade @nuxtjs como:

  • @nuxtjs/auth para a autenticação
  • @nuxtjs/axios para requisições da API
  • @nuxtjs/pwa para ativar recursos de Progressive Web Apps
  • @nuxtjs/toast para exibir mensagens ao usuário

Compondo o lado do frontend está o Vue.js com algumas bibliotecas do seu ecossistema:

  • BootstrapVue para os componentes de tela e criação do design
  • Leaflet para renderizar os mapas
  • vue-goodshare exibe os botões de compartilhamento
  • moment para trabalhar com datas
  • v-money adiciona máscaras de moedas nos inputs dos formulários
  • vee-validate faz a validação dos dados nos formulários
  • v-calendar nos dá um calendário personalizado e dinâmico
  • vue-easy-lightbox cuida da apresentação das imagens em forma de galeria
  • Tiptap permite cadastrar textos formatados para a criação de páginas dinâmicas
  • vue-the-mask adiciona mascaras nos inputs dos formulários (telefone, cpf, cnpj, etc...)
  • vue2-datepicker adiciona um date picker nos inputs de data
  • vue2-filters ajuda na formatação de dados como moedas, percentual, truncate...
  • vuex-persistedstate guarda uma cópia do state localmente permitindo assim persistir o estado da aplicação

O lado servidor está construido em cima do Node.js e algumas de suas bibliotecas:

  • Mongodb como banco de dados
  • Express cuida do fluxo da aplicação (sessão, rotas...).
  • Mongoose faz a interface e estruturação do banco de dados
  • Passport cuida da autenticação
  • multer recebe e processa os uploads
  • sharp gera as miniaturas das images enviadas
  • pdf-image gera as miniaturas dos arquivos PDF enviados

Funcionalidades básicas

  • Autenticação (Login, Cadastro e CRUD de usuários)
  • Níveis de usuário (Administrador e usuário comum)
  • Painel administrativo para gerenciar os conteúdos
  • Menu dinâmico
  • Criação de páginas
  • Página de notícias (Blog)
  • Agenda/Eventos/Calendário
  • Biblioteca (Acervo)
  • Loja (Fluxo básico de e-commerce com integração dos correios)

Instruções de desenvolvimento

# Clone esse repositório
git clone git@github.com:terrakrya/cms.git

# Entre na pasta criada
cd cms/

# Crie um container docker para o mongodb
docker run -d --name cms -p 27017:27017 mongo

# Sete a versão do node do projeto
nvm use 22.14

# Instale as dependências
$ yarn install

# Crie e personalize o arquivo de variáveis de ambiente (.env) baseado no arquivo de exemplo que está na raiz do projeto (env.sample)
$ cp env.sample .env

# Para rodar em ambiente de desenvolvimento execute:
$ yarn dev

# O comando anterior sobe o projeto com hot-reload na seguinte url:
http://localhost:3000

# Para compilar e rodar a versão de produção:
$ yarn build
$ yarn start

# Para gerar uma versão estática do frontend
$ yarn generate