Skip to content

A language learning web application inspired by Duolingo, built using PostgreSQL for database management, Next.js for server-side rendering, React.js for frontend development, and Tailwind CSS for styling. This project aims to provide a comprehensive language learning experience similar to Duolingo's intuitive interface.

Notifications You must be signed in to change notification settings

Davronov-Alimardon/duolingo-clone

Repository files navigation

Build a Duolingo Clone With Nextjs, React, Drizzle (2024)

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 14.x

Cloning the repository

git clone https://github.com/Davronov-Alimardon/duolingo-clone.git

Install packages

npm i

Setup .env.local file

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

npm run db:push

Seed the app

npm run db:seed

or

npm run db:prod

Start the app

npm run dev

About

A language learning web application inspired by Duolingo, built using PostgreSQL for database management, Next.js for server-side rendering, React.js for frontend development, and Tailwind CSS for styling. This project aims to provide a comprehensive language learning experience similar to Duolingo's intuitive interface.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published