Skip to content

This is a language learning SaaS, I built from the ground up to help users learn new languages through interactive, gamified lessons πŸŽ―πŸ”Š

Notifications You must be signed in to change notification settings

programmersEmperor/Learning-SaaS

Repository files navigation

🧠 Language Learning SaaS

🌐 Live Demo

Click to see the demo


πŸ“‹ Table of Contents

  1. πŸ“Œ Introduction
  2. βš™οΈ Tech Stack
  3. ✨ Features
  4. ⚑ Quick Start
  5. 🚧 Future Enhancements
  6. πŸ™Œ Feedback & Contributions
  7. πŸ“¬ Contact

πŸ“Œ Introduction

This is a language learning SaaS, I built from the ground up to help users learn new languages through interactive, gamified lessons.

The project contains modern technologies and best practices to deliver a clean, scalable architecture. From authentication and payment integration to lesson creation and progress tracking, every feature is custom-built to provide a seamless user experience.


βš™οΈ Tech Stack

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Shadcn/UI
  • Stripe
  • React Admin
  • Neon Postresql
  • Drizzle
  • Clerk
  • Zustand

✨ Features

  • πŸš€ Built with Next.js App Router
    Structured with the latest routing, layouts, and loading strategies.

  • πŸ‘€ Authentication via Clerk
    Secure, production-ready user management.

  • 🧠 Interactive Learning System
    Users can go through dynamic lessons that include different question types and instant feedback.

  • πŸ› οΈ Admin Dashboard with React Admin
    Fully functional dashboard for managing courses, content, and user data.

  • πŸ’³ Stripe Integration
    Payments are integrated to unlock premium features or future subscriptions.

  • 🧾 Type-Safe ORM with Drizzle
    Clean, type-safe queries connected to a modern PostgreSQL setup on Neon.

  • ⚑ Instant Deployment via Vercel
    Fast CI/CD pipeline and global hosting for seamless delivery.


⚑ Quick Start

1. Clone the repository:

git clone https://github.com/programmersEmperor/Learning-SaaS.git
cd Learning-SaaS

2. Install dependencies:

npm install

3. Configure environment variables:

Create a .env.local file and include the following variables:

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL=
NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL=
NEON_DATABASE_URL=
STRIPE_API_KEY=
STRIPE_WEBHOOK_SECRET=
NEXT_PUBLIC_API_URL=

4. Start the development server:

npm run dev

Then open http://localhost:3000 in your browser.


🚧 Future Enhancements

  • Personalized learning paths based on user performance
  • Streak tracking and gamification
  • Localization support
  • E2E and unit testing coverage

πŸ™Œ Feedback & Contributions

This is a solo-built project created from scratch to demonstrate full-stack skills and product thinking. Suggestions and contributions are always welcome!


πŸ“¬ Contact

Want to connect or collaborate? Reach out via :

About

This is a language learning SaaS, I built from the ground up to help users learn new languages through interactive, gamified lessons πŸŽ―πŸ”Š

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published