Skip to content

Duolingo Clone bootstrapped using NextJS, Drizzle and Neon for DB with admin dashboard and Stripe integration for premium users and in app content purchase. SSO Authentication using google ID.

Notifications You must be signed in to change notification settings

RikhiSingh/Duolingo-Clone

Repository files navigation

Duolingo Clone

This project is a clone of Duolingo, built using modern web technologies. It features a comprehensive set of functionalities including an admin dashboard, Stripe integration for premium features, and SSO authentication with Google.

Features

  • Frontend: Next.js, TypeScript, TailwindCSS, ShadCN UI
  • Backend: Drizzle, Neon (PostgreSQL)
  • State Management: Zustand
  • HTTP Requests: Axios
  • Admin Dashboard: react-admin
  • Payments: Stripe integration
  • Authentication: Google SSO

Installation

  1. Clone the repository
    git clone https://github.com/RikhiSingh/Duolingo-Clone.git
    cd Duolingo-Clone
    
  2. Install Dependencies
    npm install
    
  3. Set up environment variables
    Create a .env file in the root directory and add the necessary environment variables. Namely
    NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY 
    CLERK_SECRET_KEY 
    DATABASE_URL
    STRIPE_API_KEY
    NEXT_PUBLIC_APP_URL
    STRIPE_WEBHOOK_SECRET
    
  4. Run the development server
    npm run dev
    
  5. Access the Application
    Open http://localhost:3000 in your browser.

Usage

  • Register or log in using Google SSO.
  • Explore language courses and track your progress.
  • Admins can manage content through the admin dashboard.
  • Upgrade to premium for additional features using Stripe.

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch.
  3. Make your changes and commit them.
  4. Push to your branch.
  5. Open a pull request.

This Markdown file provides a clear and styled README for your project. Feel free to further customize it as needed!