Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/chenbingwei1201/genai-stars

This web app uses Twleve Labs API to solve the ELTA Sports prize in the GenAI Stars hackathon.
https://github.com/chenbingwei1201/genai-stars

clerk convex nextjs shadcn-ui tailwindcss twelve-labs typescript

Last synced: 2 days ago
JSON representation

This web app uses Twleve Labs API to solve the ELTA Sports prize in the GenAI Stars hackathon.

Awesome Lists containing this project

README

        

GenAI Stars Hackthon: GenAI Sports+

![Website Deploy](https://deploy-badge.vercel.app/?url=https://genai-stars.vercel.app/&name=genai-stars)
![License](https://img.shields.io/badge/license-MIT-blue)

This web app uses Twleve Labs API to solve the ELTA Sports prize in the GenAI Stars Hackathon. Feel free to give us a star (โยดโ—ก`โ). Your support is our energy to create better projects! Live demo: the link will be provided once the hackathon results are announced.

## ๐Ÿ“‹ Table of Contents

1. ๐Ÿค– [Introduction](#introduction)
2. โš™๏ธ [Tech Stack](#tech-stack)
3. ๐Ÿ”‹ [Features](#features)
4. ๐Ÿคธ [Quick Start](#quick-start)
5. ๐Ÿš€ [Deploy](#deploy)
6. ๐Ÿ“š [Reference](#reference)
7. โš ๏ธ [Disclaimer](#disclaimer)

## ๐Ÿค– Introduction

### Our Idea

![flow](/public/images/flow.png)

### Twelve Labs' Advantages ([ref](https://docs.twelvelabs.io/docs/introduction))

![advantages](https://twelvelabs-docs-assets.s3.us-west-2.amazonaws.com/v1.2/img/png/our-multimodal-approach.png)

### Twelve Labs' Architecture Overview ([ref](https://docs.twelvelabs.io/docs/platform-overview))

![architecture overview](https://twelvelabs-docs-assets.s3.us-west-2.amazonaws.com/v1.2/img/png/architecture-overview.png)

## โš™๏ธ Tech Stack

- Next.js
- TypeScript
- Tailwind CSS
- ShadCN/UI
- Ant Design
- Convex
- Clerk
- Twelve Labs
- Disqus

## ๐Ÿ”‹ Features

๐Ÿ‘‰ **Robust Authentication**: Secure and reliable user login and registration system with Convex and Clerk.

๐Ÿ‘‰ **Video with AI**: Use Twelve Labs two models: Marengo2.6 and Pegasus1.1 to generate videos' hastags, summary, highlights, and chapters and classify with predefined classes and store these data into Convex automatically with Twelve Labs Webhook. User can watch not only the main video but also its highlights, chapters instantly.

๐Ÿ‘‰ **Smartly Videos Recommendation**: Use Twelve Labs API "search" to search videos with hashtags to recommend similar videos.

๐Ÿ‘‰ **Comment Section**: Integrate Disqus into the web app that store comment in Disqus db.

๐Ÿ‘‰ **Discover Page**: Dedicated page for users to explore videos.

๐Ÿ‘‰ **Responsive Design**: Fully functional and visually appealing across all devices and screen sizes.

## ๐Ÿคธ Quick Start

Follow these steps to set up the project locally on your machine.

**Prerequisites**
Make sure you have the following installed on your machine:

- [Git](https://git-scm.com/)
- [Node.js](https://nodejs.org/en) (node version higher than v20._._)
- [npm](https://www.npmjs.com/) (Node Package Manager)

### 1. Cloning the Repository

```bash
git clone https://github.com/ChenBingWei1201/genai-stars.git
cd genai-stars
```

### 2. Install the project dependencies

```bash
# genai-stars
npm i
```

### 2. Set Up Environment Variables

```bash
# genai-stars
cp .env.development .env.local
```

in .env.local

```env
# Convex
CONVEX_DEPLOYMENT=
NEXT_PUBLIC_CONVEX_URL=

# Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
CLERK_WEBHOOK_SECRET=
NEXT_PUBLIC_CLERK_SIGN_IN_URL="/sign-in"
NEXT_PUBLIC_CLERK_SIGN_UP_URL="/sign-up"

# Twelve Labs
TWELVE_LABS_API_KEY=
TWELVE_LABS_WEBHOOK_SECRET=
NEXT_PUBLIC_INDEX_ID=
```

Replace the placeholder values with your actual Convex & Clerk credentials and Twelve Labs API key. You can obtain these credentials by signing up on the [Convex](https://www.convex.dev/), [Clerk](https://clerk.com/), and [Twelve Labs](https://www.twelvelabs.io/) websites.
**Remeber to paste clerk and twelve labs enviroment variables on convex project setting page**

### 3. Running the project

```bash
npm run dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

## ๐Ÿš€ Deploy

Deploy on Vercel:
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.

## ๐Ÿ“š Reference

1. [Twelve Labs API docs](https://docs.twelvelabs.io/reference/api-reference)
2. [Convex docs](https://docs.convex.dev/quickstart/nextjs)
3. [Clerk docs](https://clerk.com/docs/quickstarts/nextjs)
4. [Disqus](https://disqus.com/)
5. [podcastr](https://youtu.be/zfAb95tJvZQ?feature=shared)
6. [who-talk-about-us](https://github.com/mrnkim/Who-Talked-About-Us)
7. [summarize-youtube-video](https://github.com/mrnkim/summarize-youtube-video)
8. [file-drive](https://github.com/webdevcody/file-drive)

## โš ๏ธ Disclaimer

**This project is for hackathon purposes only. Please mark the origin clearly if you want to cite the project.**