No description
  • Vue 61.9%
  • JavaScript 35.5%
  • Sass 2.4%
  • Shell 0.1%
Find a file
2026-05-08 21:18:31 -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 Adiciona campo de instrucoes adicionais a IA para a traducao 2026-02-10 11:23:47 -03:00
assets Melhorias de usabilidade do menu 2025-11-10 18:47:29 -03:00
components Adiciona campo de instrucoes adicionais a IA para a traducao 2026-02-10 11:23:47 -03:00
data Adiciona traduções nas funcionalidade 2025-08-06 00:04:58 -03:00
docs Adiciona mixin de traduções e atualiza o footer para usar traduções. Formata código para melhor legibilidade. 2025-06-11 10:43:19 -03:00
layouts Merge remote-tracking branch 'origin/production' into cssandmergeorigin 2025-12-18 10:49:07 -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 Implementa configurações de funcionalidades (feature-flags) 2021-10-26 16:59:31 -03:00
pages Permite mudar o modelo de traducao para um mais preciso 2026-02-10 10:36:53 -03:00
plugins Adiciona redirecionamento para o domínio do idioma selecionado 2025-08-05 14:08:36 -03:00
scripts Migração/Unificação do Sementes do Xingu com o CMS: 2023-12-23 10:21:25 -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 Configura docker 2021-05-24 21:32:39 -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 Adiciona cruds de categorias 2020-07-22 03:31:27 -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 Corrige docker de desenvolvimento 2022-02-02 11:59:10 -03:00
Dockerfile fix docker part 2 2025-12-18 11:15:04 -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 fix port env 2026-05-08 21:18:31 -03:00
package.json Merge remote-tracking branch 'origin/production' into cssandmergeorigin 2025-12-18 10:49:07 -03:00
production.docker-compose.yml fix port env 2026-05-08 21:18:31 -03:00
README.md Ajuste titulos do layout 2025-07-03 16:01:38 -03:00
stylelint.config.js Merge remote-tracking branch 'origin/production' into cssandmergeorigin 2025-12-18 10:49:07 -03:00
yarn.lock 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

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
  • vue-quill-editor 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