Quickstarters
CRUD Samples
Construindo uma Aplicação CRUD Básica com Lit?
43 min
visão geral neste guia, você criará uma aplicação crud (criar, ler, atualizar, deletar) totalmente funcional usando lit vamos demonstrar como gerenciar dados dinamicamente construindo uma aplicação que realiza essas operações essenciais inicialmente, você configurará um projeto back4app chamado basic crud app lit que servirá como seu robusto backend após estabelecer seu projeto, você projetará um esquema de banco de dados flexível definindo coleções e campos, manualmente ou com a ajuda do agente de ia do back4app esta etapa é crucial para garantir que seu sistema lide de forma confiável com operações crud em seguida, você utilizará o back4app admin app—uma interface amigável de arrastar e soltar—para gerenciar suas coleções de forma eficiente finalmente, você integrará seu frontend lit com o back4app usando rest/graphql, garantindo que seu backend permaneça seguro com controles de acesso adequados ao final deste tutorial, você terá uma aplicação web pronta para produção que não apenas realiza funções básicas de crud, mas também inclui autenticação de usuário e manuseio seguro de dados pontos chave domine o desenvolvimento de aplicações crud que gerenciam dados de forma eficaz com um backend confiável aprenda a projetar um banco de dados escalável e integrá lo perfeitamente com um frontend baseado em lit utilize uma ferramenta de administração de arrastar e soltar (o back4app admin app) para simplificar operações crud entenda as estratégias de implantação, incluindo a containerização com docker, para lançar sua aplicação web de forma eficiente pré requisitos antes de começar, certifique se de que você tem uma conta back4app com um novo projeto para assistência, veja introdução ao back4app https //www back4app com/docs/get started/new parse app um ambiente de desenvolvimento lit configure seu projeto usando seu kit de início preferido e certifique se de que o node js (v14 ou posterior) está instalado conhecimento básico de javascript, lit e apis rest consulte a documentação do lit https //lit dev/docs/ se necessário passo 1 – inicializando seu projeto estabelecendo um novo projeto back4app faça login na sua conta back4app selecione a opção “novo app” no seu painel nomeie seu projeto basic crud app lit e siga as instruções para criá lo criar novo projeto uma vez que seu projeto é criado, ele aparecerá no painel, fornecendo a você a base para configuração de backend e gerenciamento de projeto passo 2 – elaborando o seu esquema de banco de dados construindo seu modelo de dados para este aplicativo crud, você definirá várias coleções abaixo estão coleções de exemplo com campos e tipos de dados sugeridos, que ajudarão você a configurar um esquema eficaz capaz de lidar com operações crud 1\ coleta de itens campo tipo de dados detalhes id objectid chave primária gerada automaticamente título string nome do item descrição string detalhes breves sobre o item criado em data timestamp quando o item foi criado atualizado em data timestamp quando o item foi modificado pela última vez 2\ coleção de usuários campo tipo de dados detalhes id objectid chave primária gerada automaticamente nome de usuário string identificador único para o usuário email string endereço de e mail único do usuário hash da senha string senha hash para autenticação segura criado em data carimbo de data/hora para a criação da conta atualizado em data timestamp para a última atualização da conta você pode adicionar essas coleções manualmente através do painel do back4app, criando novas classes e definindo as colunas apropriadas criar nova classe para cada campo, basta escolher um tipo de dado, atribuir um nome, definir um valor padrão se necessário e especificar se é obrigatório criar coluna utilizando o agente de ia do back4app para criação de esquema o agente de ia do back4app, disponível no seu painel, pode gerar automaticamente seu esquema com base em um prompt descritivo este recurso simplifica o gerenciamento de projetos, garantindo consistência na configuração do seu backend como usar o agente de ia inicie o agente de ia navegue até o agente de ia a partir do seu painel do back4app ou nas configurações do projeto detalhe seu modelo de dados cole uma descrição abrangente dos conjuntos e campos que você precisa revise e aplique inspecione as sugestões geradas e confirme as para atualizar seu projeto prompt de exemplo create the following collections in my back4app application 1\) collection items \ fields \ id objectid (auto generated primary key) \ title string \ description string \ created at date (auto generated) \ updated at date (auto updated) 2\) collection users \ fields \ id objectid (auto generated primary key) \ username string (unique) \ email string (unique) \ password hash string \ created at date (auto generated) \ updated at date (auto updated) usar este recurso de ia economiza tempo valioso enquanto garante que seu banco de dados esteja estruturado de forma otimizada passo 3 – ativando o app admin e funcionalidades crud introdução ao app admin o app admin do back4app oferece uma interface sem código para gerenciamento de dados de backend sem esforço sua funcionalidade intuitiva de arrastar e soltar permite que você execute operações crud—criar, ler, atualizar e excluir registros—com facilidade como habilitar o app admin acesse a seção “mais” no seu painel do back4app selecione “app admin” e clique “habilitar app admin ” configure suas credenciais de admin criando um usuário admin inicial, que configurará funções (como b4aadminuser ) e coleções do sistema ativar aplicativo de admin após a ativação, faça login no aplicativo de admin para gerenciar suas coleções painel do aplicativo de admin executando operações crud via o aplicativo de admin dentro do aplicativo de admin, você pode criar entradas clique no botão “adicionar registro” dentro de uma coleção (por exemplo, itens) para gerar novas entradas ler/modificar registros clique em um registro para inspecionar seus detalhes ou modificar seus campos remover registros use a função de exclusão para eliminar entradas que não são mais necessárias esta interface simples melhora significativamente a experiência do usuário ao simplificar a gestão de dados passo 4 – conectando lit com back4app agora que seu backend está configurado e gerenciado, é hora de integrar seu frontend lit com back4app opção a usando o sdk parse (quando aplicável) instale o sdk parse npm install parse configure o parse em seu aplicativo lit crie um arquivo de configuração (por exemplo, src/parseconfig js ) // src/parseconfig js import parse from 'parse'; // insira suas credenciais do back4app aqui parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; export default parse; implemente o parse em um componente lit crie um componente lit que recupera e exibe itens // src/components/itemslist js import { litelement, html, css } from 'lit'; import parse from ' /parseconfig'; class itemslist extends litelement { static properties = { items { type array } }; constructor() { super(); this items = \[]; } connectedcallback() { super connectedcallback(); this fetchitems(); } async fetchitems() { const items = parse object extend("items"); const query = new parse query(items); try { const results = await query find(); this items = results; } catch (error) { console error("erro ao buscar itens ", error); } } render() { return html` \<h2>itens\</h2> \<ul> ${this items map( (item) => html` \<li>${item get("title")} — ${item get("description")}\</li> ` )} \</ul> `; } } customelements define('items list', itemslist); export default itemslist; opção b utilizando rest ou graphql se o sdk parse não for adequado para o seu projeto, execute operações crud usando rest ou graphql por exemplo, para recuperar itens via rest // example rest request to get items const fetchitems = async () => { 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 retrieved ', data results); } catch (error) { console error('error fetching items ', error); } }; fetchitems(); integre essas chamadas de api dentro de seus componentes lit conforme necessário passo 5 – protegendo seu backend implementando listas de controle de acesso (acls) proteja seus objetos definindo acls por exemplo, para criar um item privado async function createprivateitem(itemdata, owneruser) { const items = parse object extend('items'); const item = new items(); item set('title', itemdata title); item set('description', itemdata description); // set acl so only the owner has access const acl = new parse acl(owneruser); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); item setacl(acl); try { const saveditem = await item save(); console log('private item created ', saveditem); } catch (error) { console error('error saving item ', error); } } configurando permissões em nível de classe (clps) dentro do painel do back4app, ajuste os clps para cada coleção para impor regras de acesso padrão isso garante que apenas usuários autenticados ou autorizados possam acessar informações sensíveis passo 6 – implementando a autenticação de usuário criando contas de usuário o back4app utiliza a classe user do parse para gerenciar a autenticação em sua aplicação lit, implemente o registro e login de usuários conforme demonstrado abaixo // src/components/auth js import { litelement, html, css } from 'lit'; import parse from ' /parseconfig'; class signupform extends litelement { static properties = { username { type string }, password { type string }, email { type string } }; constructor() { super(); this username = ''; this password = ''; this email = ''; } async handlesignup(e) { e preventdefault(); const user = new parse user(); user set('username', this username); user set('password', this password); user set('email', this email); try { await user signup(); alert('user registration successful!'); } catch (error) { alert('registration error ' + error message); } } render() { return html` \<form @submit="${this handlesignup}"> \<input type="text" placeholder="username" value="${this username}" @input="${e => this username = e target value}" /> \<input type="password" placeholder="password" value="${this password}" @input="${e => this password = e target value}" /> \<input type="email" placeholder="email" value="${this email}" @input="${e => this email = e target value}" /> \<button type="submit">register\</button> \</form> `; } } customelements define('sign up form', signupform); export default signupform; você pode implementar login e gerenciamento de sessão de forma semelhante recursos adicionais como autenticação social, verificação de email e redefinições de senha podem ser configurados através do painel do back4app passo 7 – implantando seu frontend lit via implantação web o recurso de implantação web do back4app permite que você hospede sua aplicação lit implantando código de um repositório github siga estas etapas para preparar sua build de produção, enviar seu código para o github e implantar seu site 7 1 criando sua build de produção abra o diretório do seu projeto em um terminal execute o comando de build npm run build isso criará uma build pasta contendo ativos estáticos otimizados verifique a build confirme que a build pasta inclui um index html arquivo junto com os subdiretórios necessários 7 2 organizando e enviando seu código seu repositório github deve abrigar o código fonte completo do seu frontend lit uma estrutura de projeto típica pode parecer com basic crud app lit frontend/ ├── node modules/ ├── public/ │ └── index html ├── src/ │ ├── app js │ ├── parseconfig js │ └── components/ │ ├── itemslist js │ └── auth js ├── package json └── readme md exemplo de arquivo de configuração src/parseconfig js import parse from 'parse'; // insert your actual back4app credentials here parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; export default parse; exemplo de arquivo principal da aplicação src/app js import { litelement, html } from 'lit'; import parse from ' /parseconfig'; class approot extends litelement { static properties = { items { type array }, newtitle { type string }, newdescription { type string } }; constructor() { super(); this items = \[]; this newtitle = ''; this newdescription = ''; } connectedcallback() { super connectedcallback(); this loaditems(); } async loaditems() { const items = parse object extend("items"); const query = new parse query(items); try { const results = await query find(); this items = results; } catch (error) { console error("failed to load items ", error); } } async additem() { const items = parse object extend("items"); const item = new items(); item set("title", this newtitle); item set("description", this newdescription); try { await item save(); this newtitle = ''; this newdescription = ''; this loaditems(); } catch (error) { console error("error adding item ", error); } } render() { return html` \<div style="padding 2rem;"> \<h1>items\</h1> \<div> \<input type="text" placeholder="title" value="${this newtitle}" @input="${e => this newtitle = e target value}" /> \<input type="text" placeholder="description" value="${this newdescription}" @input="${e => this newdescription = e target value}" /> \<button @click="${this additem}">add item\</button> \</div> \<ul> ${this items map(item => html` \<li> \<strong>${item get("title")}\</strong> ${item get("description")} \</li> `)} \</ul> \</div> `; } } customelements define('app root', approot); export default approot; enviando código para o github inicialize o git no diretório do seu projeto git init adicione todos os seus arquivos git add confirme suas alterações git commit m "commit inicial do frontend lit" crie um novo repositório no github (por exemplo, basic crud app lit frontend ) envie seu código git remote add origin https //github com/seu nome de usuario/basic crud app lit frontend git git push u origin main 7 3 conectando seu repositório github com a implantação web do back4app acesse a implantação web faça login no seu painel do back4app, escolha seu projeto (basic crud app lit) e selecione a implantação web opção vincule sua conta do github siga as instruções para conectar sua conta do github, permitindo que o back4app acesse seu repositório escolha seu repositório e branch selecione o repositório (por exemplo, basic crud app lit frontend ) e a branch (por exemplo, main ) que contém seu código lit 7 4 configurando as configurações de implantação especifique suas configurações de compilação comando de compilação se uma pasta de compilação pré construída estiver faltando, use um comando como npm run build o back4app executará este comando durante a implantação diretório de saída defina isso como build para que o back4app possa localizar seus arquivos estáticos variáveis de ambiente inclua quaisquer chaves de api necessárias ou outros valores específicos do ambiente 7 5 containerizando seu aplicativo lit com docker se você preferir docker, inclua um dockerfile em seu repositório \# use a lightweight node image for building the app from node 16 alpine as build \# set the working directory workdir /app \# copy package files and install dependencies copy package json / run npm install \# copy remaining source code and build the app copy run npm run build \# use nginx to serve the built app from nginx\ stable alpine copy from=build /app/build /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] nas configurações de implantação do back4app, escolha a opção de implantação docker para containerizar seu aplicativo 7 6 lançando seu aplicativo inicie a implantação clique no implantar botão após finalizar suas configurações monitore o processo back4app buscará seu código do github, executará o comando de build e implantará seu contêiner obtenha sua url ao vivo uma vez que a implantação termine, uma url será fornecida onde seu aplicativo lit está hospedado 7 7 validando sua implantação visite a url abra o link fornecido em seu navegador teste a funcionalidade certifique se de que o aplicativo carrega corretamente, a navegação funciona e todos os ativos são servidos corretamente depure se necessário use as ferramentas de desenvolvedor do navegador para inspecionar quaisquer problemas se surgirem problemas, revise os logs de implantação no back4app passo 8 – considerações finais e melhorias futuras ótimo trabalho! você desenvolveu com sucesso uma aplicação crud básica usando lit e back4app você configurou um projeto chamado basic crud app lit , definiu um esquema de banco de dados detalhado para itens e usuários, e gerenciou seus dados com o admin app além disso, você integrou seu frontend lit com o backend e implementou medidas de segurança robustas próximos passos melhore seu frontend adicione recursos como páginas detalhadas de itens, funcionalidade de busca e atualizações em tempo real expanda as capacidades do backend integre funcionalidades avançadas, como funções em nuvem, serviços de api externos ou controles de acesso baseados em função explore mais recursos visite a documentação do back4app https //www back4app com/docs e outros tutoriais para obter insights mais profundos sobre desempenho e personalização ao seguir este guia, você agora possui as habilidades para criar um backend crud escalável e seguro para sua aplicação lit usando back4app aproveite a programação e continue inovando!