https://github.com/anmhrk/ai-discord-clone
Discord, but with AI friends
https://github.com/anmhrk/ai-discord-clone
aisdk convex discord-clone nextjs
Last synced: about 2 months ago
JSON representation
Discord, but with AI friends
- Host: GitHub
- URL: https://github.com/anmhrk/ai-discord-clone
- Owner: anmhrk
- Created: 2024-12-17T00:25:28.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-01-08T08:48:55.000Z (4 months ago)
- Last Synced: 2025-01-08T09:38:52.729Z (4 months ago)
- Topics: aisdk, convex, discord-clone, nextjs
- Language: TypeScript
- Homepage: https://not-discord.vercel.app
- Size: 921 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Not Discord
A Discord clone built with Next.js where you create your own AI friends, set their names and personalities, DM them, add them to servers, and chat with them.
## Tech Stack
- [Next.js 15](https://nextjs.org/) w/ App Router
- [Clerk](https://clerk.dev/) for authentication
- [Tailwind CSS](https://tailwindcss.com/) and [Shadcn/ui](https://ui.shadcn.com/) for styling and UI components
- [Convex](https://www.convex.dev/) for database and image storage
- [Vercel AI SDK](https://sdk.vercel.ai/) for text streaming
- [OpenAI API](https://platform.openai.com/docs/overview) for AI responses
- [Stripe](https://stripe.com/) for Nitro subscription
- [Upstash](https://upstash.com/) for rate limiting## Setup
1. Clone the repository:
```
git clone
cd
```2. Set up environment variables:
Create a `.env` file in the root directory with the following variables:```
OPENAI_API_KEY=
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
NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL=/channels/@me
NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL=/channels/@me# Stripe
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
STRIPE_PRICE_ID=
NEXT_PUBLIC_STRIPE_PAYMENT_LINK_URL=# Upstash
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
```3. Install dependencies:
```
bun install
```4. Init Convex functions:
```
bunx convex dev
```5. Link ngrok to your development server and create Clerk webhook:
```
ngrok http 3000
```6. Allow Stripe to forward webhook events to your development server:
```
stripe login --forward-to http://localhost:3000/api/webhook/stripe
```7. Run the development server:
```
bun dev
```8. Open your browser and navigate to `http://localhost:3000` to see the website live.