PocketBase - Open Source backend
O que é PocketBase?
PocketBase é um backend leve que ajuda você a gerenciar seus dados, autenticação de usuários e armazenamento de arquivos, tudo em um só lugar. É perfeito para projetos pequenos e médios, sendo útil especialmente para testar uma ideia.
Como usar
Após fazer o processo de instalação descrito no site oficial, basta descompactar e executar o comando:
./pocketbase serve
O PocketBase vai rodar em http://127.0.0.1:8090, sendo que: http://127.0.0.1:8090/_/ - para o painel admin http://127.0.0.1:8090/api/ - REST API para as consultas
Modo de usar
O modo que estou usando é o mais simples possível. Primeiro, instale o pacote npm:
npm install pocketbase
A aplicação que estou construindo é em SvelteKit, mas o PocketBase também tem bibliotecas para Dart e você pode usar a REST API para fazer as chamadas.
Criando um Registro
Vamos criar um novo post.
import PocketBase from 'pocketbase';
const pb = new PocketBase('http://127.0.0.1:8090');
async function createPost() {
const newPost = await pb.collection('posts').create({
title: 'Meu Primeiro Post',
content: 'Este é o conteúdo do meu primeiro post no blog.',
author: 'João Silva',
published: true,
});
console.log(newPost);
}
createPost();
Exemplo Simples de Autenticação Aqui está um exemplo simples de autenticação:
Copiar código
import PocketBase from 'pocketbase';
const pb = new PocketBase('http://127.0.0.1:8090');
async function authenticateUser() {
const authData = await pb.collection('users').authWithPassword('YOUR_USERNAME_OR_EMAIL', '1234567890');
console.log(pb.authStore.isValid);
console.log(pb.authStore.token);
console.log(pb.authStore.model.id);
pb.authStore.clear();
}
authenticateUser();
Conclusão
PocketBase é uma excelente opção para gerenciar o backend de projetos pequenos e médios de maneira rápida e eficiente. Sendo um projeto open source, ele oferece flexibilidade e personalização, mas também tem suas limitações. É ideal para testar ideias rapidamente, embora possa não ser a melhor escolha para projetos de grande escala.
Se você tiver alguma dúvida ou precisar de ajuda, estou à disposição para ajudar