CMS da Base

Installs: 755

Dependents: 0

Suggesters: 0

Security: 0

Type:package

v1.0.28 2021-11-24 13:36 UTC

README

Iniciando a estrutura

  1. Copiar a estrutura toda do projeto

  2. Renomear o arquivo .env.example para .env

  3. Configurar as credenciais do banco de dados no arquivo .env

  • DB_HOST=localhost
  • DB_PORT=3306
  • DB_DATABASE=nome_da_base_de_dados
  • DB_USERNAME=root
  • DB_PASSWORD=
  1. Rodar os comandos:
php artisan key:generate

php artisan migrate

php artisan db:seed

php artisan storage:link

npm install

npm run production

php artisan vendor:publish --tag=basecms-public --force

Login

Credenciais para acesso:

Ver arquivo database/seeders/Auth/UserSeeder.php

Rodando o CMS

php artinsa serve --post=8000

Criando uma nova sessão

  1. Após a tabela estar devidamente criada (com todas as referências - Foreign keys), basta executar o comando:
php artisan base:domain nome_da_tabela

PS: Se você ainda não tem a estrutura do banco, ver a sessão "Criando tabelas" a seguir.

  1. Próximo passo é acessar o arquivo NomeTabelaDefinition.php e ajustar as configurações da sessão.

O que é criado

Este comando irá gerar/modificar um conjunto de arquivos:

  • Controller
  • Model
  • Repository
  • Request
  • Policy (E adicionar no AuthServiceProvider.php o Model->Policy)
  • Definition
  • resources/backend/nome_tabela/ (arquivos .blade)
  • Adicionar a rota no routes/backend/admin.php
  • Adicionar a sessão no views/backend/includes/sidebar.blade.php

Customizando a sessão criada (Definition)

Neste arquivo de definição tem todo o "setup" da sessão:

  • Nome da sessão
  • Rotas liberadas
  • Campos que aparecem no Formulário
    • Tipo dos campo (input, textarea, checkbox ...)
    • Se o campo tem Upload (pasta, resize, watermark)
  • Validação do formulário (rules)
    • FormRequest
    • Validação no front - JS (Aire)
  • Campos que aparecem na tabela (Datatable)
    • Exportável (CSV)
    • Filtrável (Na listagem é possível empilhar os filtros)
  • Campos que aparecem na tela de visualização

Referências: Lógicas possíveis: arquivo SampleDefinition.php

Criando uma subsessão dentro de uma sessão

1.

php artisan base:domain nome_da_tabela --subroute nome_da_tabela_pai coluna_fk_que_faz_referencia_ao_pai

Ex:

php artisan base:domain sample_authors --subroute samples sampleId

Criando tabelas

  1. Para criar uma tabela, executar um migration e editar o arquivo gerado adicionando as columns/refs
php artisan make:migration create_minha_tabela_table

php artisan migrate

Quero alterar os componentes padrões gerados pela "Base"

php artisan vendor:publish --tag=basecms-resources

Limpando uma estrutura copiada de outro projeto

README_CLEAN.md

Criei a base na mão, como gerar as migrations e os seeders?

README_MIGRATE_SEEDS

Setup VSCODE

README VSCODE

CMS (Notas)

README_BUILD_CMS

TODOS

  • Traduzir o CMS p/ outra lingua (falta os componentes novos)

  • DataTables::collection no Filtro, hoje funciona com Model e Query (DB::table) Ex: DataTables::of(SamplesModel::with('sampleOther:id,name')->get())

  • rever classe de validação do AIRE, não é muito boa, reprogramar?

  • testar gráficos - https://www.chartjs.org/samples/latest/, generalizando algumas criações

  • graphql (api)

  • tabela com a coluna "action" fixa //Fiz um teste, ficou bem ruim, avaliar futuramente

  • Gerar um README com a lista de FEATURES do CMS, para quem não conhece, saber o que pode ser feito, quase um "tutorial"

  • duplicar

  • criar CMS BLANK p/ start dos projetos

  • ver estrutura, adicionar privates

  • adicionar um exemplo de uma estrutura de front p/ o pessoal conseguir usar?! //Meio que já tem, avaliar

  • delete filed

  • max_upload_size 2m, testar p/ disparar um erro melhor na tela

  • GCP upload 2mb, indo 0 bytes

  • Page expired, error 419, analisar

  • Métodos de cada input, adicionar na documentação pro pessoal entender (https://airephp.com/working-with-elements)