• Stars
    star
    238
  • Rank 169,306 (Top 4 %)
  • Language Vue
  • License
    MIT License
  • Created almost 3 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A collection of projects made with Supabase โ€“ Websites, Mobile Apps, SaaS, Plugins and more!

Logo

Made with Supabase โšก

A collection of projects made with Supabase
Websites, Mobile Apps, SaaS, Plugins and more!

View Demo ยท Report Bug ยท Request Feature

Made with Supabase

๐Ÿš€ Features

  • โœจ Curated list of projects
  • ๐ŸŽ‰ Show the world your creation using Supabase
  • ๐Ÿ”Ž Search by tags, for Supabase service
  • ๐Ÿ’š Hackathon submission (during event period)

๐Ÿ“‡ About The Project

As the name suggest, this project is a collection of projects that made with Supabase! It was heavily inspired by other "Made with xxx" website, and I wanted to curate all the submission for the first ever Supabase Hackathon initially.

Also, I thought that this would be a great opportunity to use Supabase Database and Storage to showcase Supabase! Therefore, Made with Supabase is also, made with Supabase โšก!

It turns out that this project gained a lot of attention from Supabase users, as well as not-yet Supabase user ๐Ÿ˜‚. It grew from 10+ projects to 100+ now! Supa awesome!!! ๐Ÿ”ฅ I believe it has potential to grow, thus I've decided to Open Source it, and welcome your contributions!

-- From: zernonia

๐Ÿ”จ Built With

๐Ÿ”ฅ Contributors

๐Ÿ’ป Supabase Schema/Script

Schema generated using Supabase Schema

Set up your Supabase tables, views, and storage buckets

Run the below SQL queries in your Supabase SQL editor on https://app.supabase.io/project/sql .

Tables

products

create table products (
  id uuid default uuid_generate_v4() primary key,
  title text,
  email text,
  description text,
  categories text ARRAY,
  url text,
  github_url text,
  twitter text,
  instagram text,
  images text ARRAY,
  slug text,
  supabase_features text ARRAY,
  approved boolean,
  created_at timestamp default now()
);

-- enable RLS
alter table products enable row level security;

views

create table views (
  id uuid default uuid_generate_v4() primary key,
  created_at timestamp default now(),
  ip_address text,
  product_id uuid references products (id) on delete cascade
);

-- enable RLS
alter table views enable row level security;

Views

products_view

create view products_view as
  select
    products.id,
    products.title,
    products.description,
    products.categories,
    products.url,
    products.github_url,
    products.twitter,
    products.instagram,
    products.images,
    products.slug,
    products.supabase_features,
    products.approved,
    products.created_at,
    count(views.id) as views
  from products
    left join views on products.id = views.product_id
  where products.approved = true
  group by products.id;

tags_view

create view tags_view as
  select
    s.tags,
    count(*) as count
  from (
    select
      unnest(products.categories) as tags
    from products
    where products.approved = true
  ) s
  group by s.tags;

Functions

get_related_products

create or replace function public.get_related_products(parent_id uuid)
  returns setof products_view
  language plpgsql
as $$
begin
  return query
    select * from products_view where id <> parent_id order by random();
end; $$

get_tags

create or replace function public.get_tags(tag text)
  returns setof products_view
  language plpgsql
as $$
begin
  return query
    select * from products_view where tag % any(categories);
end; $$

get_supabase_tags

create or replace function public.get_supabase_tags(tag text)
  returns setof products_view
  language plpgsql
as $$
begin
  return query
    select * from products_view where tag like any(supabase_features);
end; $$

Storage

  • Create a new public bucket called products on https://app.supabase.io/project/storage/buckets .
  • Navigate to the storage policy settings (https://app.supabase.io/project/storage/policies)
  • Create the following policies:
    • Give anon users READ access:
      • Allowed operations: SELECT
      • Policy definition: (bucket_id = 'products'::text)
    • Give anon users INSERT access:
      • Allowed operations: INSERT
      • Policy definition: ((bucket_id = 'products'::text) AND (role() = 'anon'::text))
    • Deny DELETE:
      • Allowed operations: DELETE
      • Policy definition: ((bucket_id = 'products'::text) AND (role() = 'authenticated'::text))

๐ŸŒŽ Local Development

Prerequisites

Yarn

  • npm install --global yarn

Development

  1. Clone the repo
    git clone https://github.com/zernonia/madewithsupabase.git
  2. Install NPM packages
    yarn install
  3. Setup your Supabase environment .env
    SUPABASE_URL=<SUPABASE_URL>
    SUPABASE_KEY=<SUPABASE_KEY>
    SUPABASE_SERVICE_KEY=<SUPABASE_SERVICE_KEY>
  4. Run Development instance
    yarn dev

โž• Contributing

This project is just for fun, but if you have any crazy idea for Realtime function, feel free to contribute, or create request for the features. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“œ License

Not Associated with Supabase.

Distributed under the MIT License. See LICENSE for more information.

๐Ÿ“ง Contact

Zernonia - @zernonia

โ˜• Support

If you like my work, please buy me a coffee ๐Ÿ˜ณ

"Buy Me A Coffee"

More Repositories

1

supabase-schema

Secured & Simple Supabase Schema Visualizer
Vue
804
star
2

vue0

Vue version open source alternative for v0.dev
Vue
701
star
3

tweetic

Convert Tweets to Static HTML
TypeScript
240
star
4

keypress

KeyPress - an open-source blogging platform + free custom domains.
Vue
240
star
5

nuxt-lego

NuxtLego is an open source UI component layer for building your Nuxt content quick & beautiful.
Vue
231
star
6

vue3-notion

An unofficial Notion renderer (Vue 3) version
CSS
137
star
7

vista

Add animated subtitle to your video automatically
Vue
102
star
8

simple-log

SimpleLog - Event tracking all in 1 place! Free & Open Source
Vue
89
star
9

timelino

Twitter-liked platform without toxic and negativity
Vue
48
star
10

supadb

Connect and play with Supabase REST API / Graphql easily
Vue
45
star
11

supabase-realtime-playground

Vue
43
star
12

supabase-vue-3

Vue 3 + Supabase Starter
Vue
39
star
13

swappy-one

Vue
32
star
14

zernonia.com

My personal website! Enjoy ๐Ÿคฉ
Vue
26
star
15

supaembed

Embed custom tools on your website with your Supabase instance.
Vue
24
star
16

secret-diary

Vue
18
star
17

himaker

Embed & Showcase your projects on websites
CSS
17
star
18

supabase-cdn-transformation

HTML
14
star
19

supabase-vscode-extension

Unofficial Supabase Extension
TypeScript
14
star
20

supabase-form

Vue
7
star
21

radix-vue-slidev

Radix Vue talk on Vue Nation 2024
Vue
6
star
22

vue-supabase-slides

CSS
3
star
23

Dashboard-BI

Simple Drag-and-Drop Analytics Dashboard using Vanilla Javascript
JavaScript
3
star
24

nuxtjs-pinterest

Pinterest Clone using Nuxtjs
Vue
3
star
25

shopify-whatsapp

JavaScript
2
star
26

zernonia

2
star
27

nuxt3

Vue
2
star
28

devchallenges

CSS
2
star
29

bank-green-test

Vue
2
star
30

genshin-calendar

Vue
2
star
31

memory-lanes

Vue
2
star
32

nuxt3-app

Vue
1
star
33

work-dot

Vue
1
star
34

github-actions-for-ci

JavaScript
1
star
35

work-tableau-extension

JavaScript
1
star
36

sunlife-persistency

Vue
1
star
37

vue-electron-video-converter-trimmer

Vue
1
star
38

nuxt3-starter

TypeScript
1
star
39

radix-vue-tree

TypeScript
1
star
40

hello-github-actions

Dockerfile
1
star
41

coronatracker

Vue
1
star