Quickstarters
CRUD Samples
Como construir uma aplicação CRUD com Alpine.js?
41 min
visão geral neste guia, você aprenderá a construir uma aplicação crud (criar, ler, atualizar, deletar) usando alpine js este tutorial o guiará pelas operações principais necessárias para gerenciar dados dinamicamente, aproveitando o back4app como seu robusto serviço de backend começaremos configurando um novo projeto back4app chamado basic crud app alpinejs este projeto servirá como seu backend para gerenciar dados após inicializar seu projeto, você irá projetar um esquema de banco de dados flexível definindo coleções e campos—seja manualmente ou com a ajuda do agente de ia do back4app esta etapa garante que seu backend esteja estruturado para operações crud confiáveis em seguida, você usará o back4app admin app, uma ferramenta amigável de arrastar e soltar, para administrar suas coleções sem esforço esta interface simplifica as tarefas de gerenciamento de dados finalmente, você conectará seu frontend alpine js ao back4app usando apis rest ou graphql, e protegerá seu backend com controles de acesso robustos ao final deste tutorial, você terá um aplicativo web pronto para produção que suporta operações crud básicas, juntamente com autenticação de usuário e atualizações de dados seguras o que você vai aprender como construir aplicações crud com um serviço de backend eficiente métodos para projetar um modelo de dados escalável e vinculá lo a um frontend alpine js dicas sobre como usar uma ferramenta de administração de arrastar e soltar para gerenciar coleções estratégias para implantar sua aplicação usando técnicas de containerização e implantação na web pré requisitos antes de começar, certifique se de que você tem uma conta back4app com um novo projeto pronto consulte introdução ao back4app https //www back4app com/docs/get started/new parse app para ajuda um ambiente de desenvolvimento alpine js inclua alpine js via cdn ou npm conforme a configuração do seu projeto familiaridade com javascript, alpine js e princípios de api rest consulte a documentação do alpine js https //alpinejs dev/start para mais detalhes passo 1 – iniciando seu projeto configurando um novo projeto back4app faça login no seu painel do back4app clique no botão “novo app” forneça o nome do projeto basic crud app alpinejs e siga as instruções criar novo projeto após a criação, seu projeto aparece no painel, pronto para configuração de backend passo 2 – elaborando o seu esquema de banco de dados mapeando seu modelo de dados para o nosso aplicativo crud, você configurará algumas coleções principais abaixo estão coleções de exemplo com campos e tipos de dados para orientar a configuração do seu esquema essas coleções facilitam ações essenciais de crud 1\ coleção de itens esta coleção contém detalhes para cada item campo tipo propósito id objectid identificador primário gerado automaticamente título string nome ou título do item descrição string resumo breve sobre o item criado em data timestamp para criação do item atualizado em data timestamp da última atualização 2\ coleção de usuários esta coleção armazena credenciais e detalhes dos usuários campo tipo propósito id objectid identificador primário gerado automaticamente nome de usuário string identificador único do usuário email string endereço de e mail único do usuário hash da senha string senha hash armazenada com segurança criado em data timestamp de criação da conta atualizado em data timestamp da última atualização da conta você pode criar manualmente essas coleções no painel do back4app adicionando uma nova classe para cada uma e definindo as colunas de acordo criar nova classe você pode definir campos selecionando um tipo, nomeando os, adicionando valores padrão e marcando os como obrigatórios criar coluna aproveitando o agente de ia do back4app para criação de esquemas o agente de ia do back4app ajuda a automatizar a geração de esquemas ele cria suas coleções com base em um prompt que descreve os campos desejados como usar o agente de ia abra o agente de ia a partir do seu painel do back4app insira uma descrição detalhada das coleções e campos necessários revise o esquema sugerido e aplique o ao seu projeto prompt de exemplo create the following collections 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ created at date (auto generated) \ updated at date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ password hash string \ created at date (auto generated) \ updated at date (auto updated) esta ferramenta economiza tempo e garante um esquema consistente e otimizado passo 3 – ativando a interface de administração e recursos crud apresentando o aplicativo admin o aplicativo admin do back4app oferece uma interface sem código para gerenciar seus dados de backend seus recursos de arrastar e soltar tornam as tarefas crud simples e eficientes como habilitar o aplicativo admin vá para a seção “mais” no seu painel do back4app selecione aplicativo admin e clique em habilitar aplicativo admin configure suas primeiras credenciais de administrador para definir funções e coleções do sistema habilitar aplicativo admin uma vez ativado, faça login no aplicativo admin para gerenciar seus dados painel do aplicativo admin executando ações crud com o aplicativo admin dentro do aplicativo admin, você pode criar registros clique no botão “adicionar registro” em uma coleção como itens ler e atualizar registros selecione um registro para ver detalhes ou fazer edições excluir registros remova entradas indesejadas usando a função de exclusão esta interface simplifica o gerenciamento de dados com um design intuitivo de arrastar e soltar passo 4 – conectando alpine js ao back4app com seu backend pronto, é hora de vincular seu frontend alpine js ao back4app usando apis rest/graphql você usará rest ou graphql para interagir com seu backend exemplo buscando itens via rest // sample rest api call using fetch async function loaditems() { try { const response = await fetch('https //parseapi back4app com/classes/items', { headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); const data = await response json(); console log('items loaded ', data results); } catch (error) { console error('error loading items ', error); } } loaditems(); integre essas chamadas de api dentro de seus componentes alpine js para realizar operações crud passo 5 – protegendo seu backend configurando listas de controle de acesso (acls) proteja seus dados aplicando acls aos seus registros por exemplo, para criar um item privado async function addprivateitem(data, owner) { const itemdata = { title data title, description data description }; // define acl settings only the owner has read/write privileges const aclsettings = { " " { "read" false, "write" false }, \[owner] { "read" true, "write" true } }; try { const response = await fetch('https //parseapi back4app com/classes/items', { method 'post', headers { 'content type' 'application/json', 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' }, body json stringify({ itemdata, acl aclsettings }) }); const result = await response json(); console log('private item added ', result); } catch (error) { console error('error adding private item ', error); } } configurando permissões em nível de classe (clps) dentro do painel do back4app, defina clps para cada coleção para impor políticas de acesso padrão, garantindo que apenas usuários autorizados possam acessar dados sensíveis passo 6 – implementando autenticação de usuário criando contas de usuário back4app utiliza a classe user do parse para gerenciar a autenticação no seu projeto alpine js, gerencie o registro e o login do usuário por meio de chamadas de api exemplo registro de usuário com alpine js sign up um método semelhante pode ser implementado para o login do usuário e o gerenciamento de sessão passo 7 – implantando seu frontend alpine js com implantação web o recurso de implantação web do back4app permite que você hospede seu frontend alpine js facilmente neste segmento, você irá preparar sua build de produção, enviar seu código para o github, conectar seu repositório à implantação web e lançar seu aplicativo 7 1 construa seus ativos de produção abra o diretório do seu projeto em um terminal execute seu comando de build (se estiver usando um processo de build para alpine js) npm run build isso gera uma pasta (tipicamente dist ou build ) com arquivos estáticos otimizados confirme que sua pasta de build contém um index html junto com os ativos necessários 7 2 organize e faça o upload de seus arquivos fonte seu repositório do github deve conter todos os arquivos fonte do seu projeto alpine js uma estrutura comum pode ser basic crud app alpinejs frontend/ ├── node modules/ ├── public/ │ └── index html ├── src/ │ ├── main js │ └── components/ │ ├── itemslist js │ └── auth js ├── package json └── readme md arquivo de exemplo src/main js document addeventlistener('alpine\ init', () => { alpine data('itemsapp', () => ({ items \[], newitemtitle '', newitemdescription '', async loaditems() { try { const response = await fetch('https //parseapi back4app com/classes/items', { headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); const data = await response json(); this items = data results; } catch (error) { console error('failed to load items ', error); } }, async additem() { const payload = { title this newitemtitle, description this newitemdescription }; try { await fetch('https //parseapi back4app com/classes/items', { method 'post', headers { 'content type' 'application/json', 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' }, body json stringify(payload) }); this newitemtitle = ''; this newitemdescription = ''; this loaditems(); } catch (error) { console error('error adding item ', error); } } })); }); comitando seu código no github inicialize um repositório git na sua pasta de projeto git init prepare seus arquivos git add confirme suas alterações git commit m "commit inicial do frontend alpine js" crie um novo repositório no github (por exemplo, basic crud app alpinejs frontend ) envie seu código git remote add origin https //github com/seu nome de usuario/basic crud app alpinejs frontend git git push u origin main 7 3 vinculando seu repositório github à implantação na web faça login no seu painel do back4app e selecione seu projeto ( basic crud app alpinejs ) abra a seção implantação na web conecte sua conta do github e escolha seu repositório e branch contendo seu código alpine js 7 4 configurando as configurações de implantação comando de construção se o seu projeto não tiver uma pasta pré construída, especifique um comando (por exemplo, npm run build ) diretório de saída defina o para a pasta com seus arquivos estáticos (por exemplo, build ou dist ) variáveis de ambiente adicione quaisquer variáveis necessárias, como chaves de api 7 5 dockerizando sua aplicação alpine js (opcional) se você deseja implantar usando docker, inclua um dockerfile como \# use an official node image for building from node 16 alpine as build \# set working directory workdir /app \# copy dependency files and install copy package json / run npm install \# copy source and build app copy run npm run build \# use nginx to serve the static files from nginx\ stable alpine copy from=build /app/build /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] selecione a opção docker na sua configuração de implantação web, se desejado 7 6 lançando seu aplicativo clique no deploy botão no back4app monitore o processo de implantação enquanto o back4app puxa seu código, o compila e o implanta uma vez implantado, você receberá uma url onde seu aplicativo alpine js está hospedado 7 7 testando sua implantação visite a url fornecida em seu navegador verifique se seu aplicativo carrega corretamente, se as rotas funcionam como esperado e se os ativos são servidos corretamente resolva quaisquer problemas verificando os logs do console do navegador e os logs de implantação do back4app passo 8 – considerações finais e melhorias futuras parabéns! você construiu um aplicativo crud completo usando alpine js e back4app você configurou o basic crud app alpinejs projeto, criou coleções de banco de dados detalhadas e utilizou uma ferramenta de administração sem código para gerenciamento de dados além disso, você conectou seu frontend alpine js ao seu backend usando apis rest e garantiu o manuseio seguro de dados próximos passos melhore sua ui expanda seus componentes alpine js com recursos avançados, como visualizações detalhadas de itens ou atualizações em tempo real adicione mais funcionalidade explore a incorporação de lógica adicional de backend, apis de terceiros ou controles de acesso complexos aprendizado adicional visite a documentação do back4app https //www back4app com/docs e recursos adicionais para aprofundar sua compreensão de integrações avançadas feliz codificação e aproveite a construção do seu próximo projeto!