Que es Supabase
- Es una alternativa Open source a Firebase
- Ofrece una base de datos en tiempo Real basada en PostgreSQL
- Autenticacion de Usuarios
- Almacenaje de archivos
- Funciones Serverless a traves de Deno
- Bibliotecas Cliente en Javascript, Python y Dart
Biblioteca de Componentes UI. Adicionalmente Supabase tambien Ofrece una biblioteca de componentes que puedes usar para poder desarrollar tus interfaces de usuario en React. Aunque aun esta en Desarrollo https://ui.supabase.com/
PostgreSQL
- Posee una UI Para administrar
- Realtime
- Ejecutar consultas
- PostREST API
Ve a la seccion base de datos y crea tu primer table.
Luego puedes ir a la seccion tables y añadir datos a la table.
REST API
ve en la seccion API.
En esta seccion podras ver toda la documentacion de tu REST API que se han generado a partir de tus tablas.
Por ejemplo, puedes ver una url como esta:
http://kong:8000/rest/v1/products?select=*
si activas RLS no podras acceder a los datos de tu API solo con tus api keys.
Usando el boton New Policy, puedes permitir leer a todos, o insertar datos solo a usuarios autenticados.
Crear un nuevo dato desde REST API
si has añadido un Policy, no podras insertar nada a menos que te autentiques primero, asi que crea un usuario en la pestaña users, y obtener tu Token.
una vez tienes el token envialo en Authorizacion con el formato Bearer token, usando el token del usuario.
En el caso de actualizar, primero crea un campo en la tabla products llamado seller, haciendo referencia a un usuario registrado simplemente usa la plantilla y permite actualizar por
auth.uid() = seller
Access Control
- Postgre RLS
Authentication
- Email/Password
- Magic Link
- Github
- More
Una vez añadas y confirmes un nuevo usaurio obtendras un secret key y un refresh token, puedes ver la informacion de tu token aqui:
Supabase UI
Precio
Para usar Firebaes tenemos la opcion de registrarnos en su sitio y pagar mensualmente por lo que usemos de forma similar a Firebase.
O tambien podemos usar una imagen de Docker y desplegarla en nuestro propio servidor.
Docker
https://supabase.com/docs/guides/hosting/docker
Para poder usar el contenedor de Docker de Supabase necesitas tener instalado docker y docker-compose:
- Este ofrece una organizacion y un proyecto por defecto