LEAF is a language learning platform inspired by Duolingo. It allows users to learn and practice languages through interactive exercises, quizzes, and gamified experiences. The application is built using modern technologies and follows best practices for scalability and maintainability.
- User Authentication: Users can sign up, log in, and track their progress.
- Language Selection: Choose from a variety of languages to learn.
- Interactive Lessons: Engage in interactive lessons covering vocabulary, grammar, and pronunciation.
- Progress Tracking: Monitor your progress, earn points, and unlock new levels.
- Leaderboards: Compete with other learners and see who's at the top.
- Responsive Design: Works seamlessly on desktop, tablet, and mobile devices.
- Frontend:
- Next.js (React framework)
- TypeScript
- Tailwind CSS
- Shadcn UI (custom UI components)
- Zustand (state management)
- Backend:
- Neon Database (for user data)
- Drizzle ORM (for database interactions)
- Stripe (for payment processing)
-
Clone this repository:
git clone https://github.com/SudoKMaar/leaf.git
-
Install dependencies:
cd leaf npm install
-
Set up environment variables:
- Create a
.env.local
file in the root directory. - Add your API keys and other sensitive information (e.g., Stripe secret key).
- Create a
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
Contributions are welcome! Please follow our contribution guidelines.
This project is licensed under the MIT License. See LICENSE for details.