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