Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aleksanderpalamar/teacher-ai
Teacher-AI is a plataform for learning languages with AI Voices using Elevenlabs AI
https://github.com/aleksanderpalamar/teacher-ai
drizzle nextjs14 react stripe
Last synced: 13 days ago
JSON representation
Teacher-AI is a plataform for learning languages with AI Voices using Elevenlabs AI
- Host: GitHub
- URL: https://github.com/aleksanderpalamar/teacher-ai
- Owner: aleksanderpalamar
- License: mit
- Created: 2024-03-19T12:24:54.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-04-27T12:10:12.000Z (10 months ago)
- Last Synced: 2024-05-01T19:49:17.652Z (10 months ago)
- Topics: drizzle, nextjs14, react, stripe
- Language: TypeScript
- Homepage: https://teacher-ai-rho.vercel.app
- Size: 658 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Build a application to learn languages with Nextjs, React, Drizzle, Stripe.
Key Features:
- 🌐 Next.js 14 & server actions
- 🗣 AI Voices using Elevenlabs AI
- 🎨 Beautiful component system using Shadcn UI
- 🎭 Amazing characters thanks to KenneyNL
- 🔐 Auth using Clerk
- 🔊 Sound effects
- ❤️ Hearts system
- 🌟 Points / XP system
- 💔 No hearts left popup
- 🚪 Exit confirmation popup
- 🔄 Practice old lessons to regain hearts
- 🏆 Leaderboard
- 🗺 Quests milestones
- 🛍 Shop system to exchange points with hearts
- 💳 Pro tier for unlimited hearts using Stripe
- 🏠 Landing page
- 📊 Admin dashboard React Admin
- 🌧 ORM using DrizzleORM
- 💾 PostgresDB using NeonDB
- 🚀 Deployment on Vercel
- 📱 Mobile responsiveness### Prerequisites
**Node version 21.x**
### Cloning the repository
```shell
git clone https://github.com/aleksanderpalamar/teacher-ai.git
```### Install packages
```shell
npm i
```### Setup .env file
```js
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY = "";
CLERK_SECRET_KEY = "";
DATABASE_URL = "postgresql://...";
STRIPE_API_KEY = "";
NEXT_PUBLIC_APP_URL = "http://localhost:3000";
STRIPE_WEBHOOK_SECRET = "";
```### Setup Drizzle ORM
```shell
npm run db:push```
### Seed the app
```shell
npm run db:seed```
or
```shell
npm run db:prod```
### Start the app
```shell
npm run dev
```