https://github.com/nabarvn/lingo
Duolingo Clone SaaS built with TypeScript, Next.js 14 (including server actions), Tailwind CSS, Zustand, Drizzle, Neon, Clerk, and Stripe.
https://github.com/nabarvn/lingo
clerk-auth drizzle-orm elevenlabs neondb nextjs shadcn-ui stripe-payments tailwindcss typescript zustand
Last synced: 6 months ago
JSON representation
Duolingo Clone SaaS built with TypeScript, Next.js 14 (including server actions), Tailwind CSS, Zustand, Drizzle, Neon, Clerk, and Stripe.
- Host: GitHub
- URL: https://github.com/nabarvn/lingo
- Owner: nabarvn
- Created: 2024-04-24T17:40:18.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-07T18:29:27.000Z (over 1 year ago)
- Last Synced: 2024-06-07T19:50:16.009Z (over 1 year ago)
- Topics: clerk-auth, drizzle-orm, elevenlabs, neondb, nextjs, shadcn-ui, stripe-payments, tailwindcss, typescript, zustand
- Language: TypeScript
- Homepage: https://lingo.nabarun.app
- Size: 1.09 MB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Lingo
Lingo aims to provide a super interactive and user-friendly platform for learning languages, regardless of your proficiency. Whether you’re just starting out or aiming to perfect your skills, this web app is loaded with features to make your language learning journey both enjoyable and effective. Dive in and discover a whole new way to learn!
## Screenshot
## Running Locally
This application requires Node.js v20.12.1+.
### Cloning the repository to the local machine:
```bash
git clone https://github.com/nabarvn/lingo.git
cd lingo
```### Installing the dependencies:
```bash
pnpm install
```### Setting up the `.env` file:
```bash
cp .env.example .env
```> [!IMPORTANT]
> Ensure you populate the variables with your respective API keys and configuration values before proceeding.### Configuring Drizzle:
```bash
pnpm db:push
```### Seeding the application:
```bash
pnpm db:seed
```### Running the application:
```bash
pnpm dev
```## Tech Stack
- **Language**: [TypeScript](https://www.typescriptlang.org)
- **Framework**: [Next.js](https://nextjs.org)
- **Styling**: [Tailwind CSS](https://tailwindcss.com)
- **Analytics**: [Vercel Analytics](https://vercel.com/analytics)
- **State Management**: [Zustand](https://docs.pmnd.rs/zustand/getting-started/introduction)
- **ORM Toolkit**: [Drizzle](https://orm.drizzle.team/docs/overview)
- **Postgres Database**: [Neon](https://neon.tech/docs/introduction/about)
- **Authentication**: [Clerk](https://clerk.com/docs/quickstarts/nextjs)
- **Payments**: [Stripe](https://stripe.com/docs/payments)
- **Deployment**: [Vercel](https://vercel.com)## Acknowledgements
- **Speech Generator**: [ElevenLabs](https://elevenlabs.io)
- **Character Assets**: [Kenney](https://kenney.nl/assets/toon-characters-1)## Credits
Huge props to Antonio for coming up with such an incredible tutorial. Knowledge packed content, as always!
Don't forget to leave a STAR 🌟