An open API service indexing awesome lists of open source software.

https://github.com/andrew-dev-p/supabase-teams-products-management

Manage teams and products collaboratively using Supabase and Next.js.
https://github.com/andrew-dev-p/supabase-teams-products-management

edge-functions framer-motion nextjs product-management react react-query realtime rhf shadcn supabase supabase-js tailwindcss team-management zod

Last synced: 26 days ago
JSON representation

Manage teams and products collaboratively using Supabase and Next.js.

Awesome Lists containing this project

README

        

# Teams & Products Management App ๐Ÿ› ๏ธ

A **collaborative platform** for managing **teams** and their **products**, built with **Next.js**, **Supabase**, and **ShadCN**. Users can **sign up**, **join or create teams**, and **collaborate on product management** โ€” all handled via **Supabase services** including **Edge Functions**, **Storage**, and **Realtime** features.

## ๐Ÿ” Description

This app enables users to:
- **Authenticate** via Email/Password or Google
- **Create or join** a single team using a unique slug
- **Manage products** (CRUD) within their team
- **Track product status**: Draft, Active, or Deleted
- **Search, filter**, and **paginate** product listings
- **View online/offline** teammates in real time

## ๐Ÿ“ Project Structure

```
.
โ”œโ”€โ”€ client/ # Next.js frontend (ShadCN, TailwindCSS)
โ””โ”€โ”€ server/ # Supabase Edge Functions, Database, Storage
```

## ๐Ÿš€ Features

- **Email/Password and Google Auth**
- **Slug-based team joining**
- **Supabase Realtime** for online users
- **Supabase Edge Functions** for backend logic
- **Soft deletion** + **Cron task** to permanently remove after 2 days
- **Full-text search** + filtering by status and author
- **Row-Level Security** for product access control

## ๐Ÿ› ๏ธ Tech Stack

### Frontend

- **Next.js 15**
- **React 19**
- **TailwindCSS**
- **ShadCN**
- **Framer Motion**
- **React Hook Form** + **Zod**
- **React Query** (`@tanstack/react-query`)
- **Supabase Auth Helpers**

### Backend

- **Supabase Edge Functions** (Deno)
- **Supabase Database** with **Row-Level Security**
- **Supabase Storage**, **Secrets**, **Realtime**, and **Cron**
- **Supabase JS**

## โš™๏ธ Setup

### 1. Clone the Repo

```bash
git clone https://github.com/andrew-dev-p/supabase-teams-products-management
cd supabase-teams-products-management
```

### 2. Setup Client

```bash
cd client
npm install
```

### 3. Setup Supabase

- Create a project on [Supabase](https://supabase.com)
- Configure your environment variables
- Deploy Edge Functions via Supabase CLI

## ๐Ÿงช Running Locally

### Client

```bash
cd client
npm run dev
```

### Supabase Functions

```bash
supabase functions serve
```

## ๐Ÿ” Environment Variables

### ๐Ÿ“ฆ Client (`client/.env.local`)

```env
NEXT_PUBLIC_APP_URL=your-app-url

NEXT_PUBLIC_SUPABASE_URL=https://your-project-id.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key

NEXT_PUBLIC_API_URL=https://your-project-id.supabase.co/functions/v1/
```

### ๐Ÿ”ง Supabase

Use **Supabase Secrets** to store secrets securely.

## ๐Ÿ“ฌ Deployment

- **Frontend**: Deployed via **Vercel**
- **Backend**: Deployed using **Supabase Edge Functions**