Skip to content

Desktop application build on electron to allow users learn a language with scene based interaction using MURF AI. Click on the URL below to download the application or download from the release section

Notifications You must be signed in to change notification settings

LangQuest-App/LangQuest

Repository files navigation

🐸 LangQuest

An AI-Powered Language Learning Desktop Application Built with Electron, React, and TypeScript

LangQuest is a revolutionary language learning platform that makes mastering new languages fun, engaging, and effective. With our friendly frog mascot guiding you through interactive lessons, real-world scenarios, and AI-powered conversations, learning a new language has never been more enjoyable!

LangQuest Logo

✨ Features

🧠 AI-Generated Personalized Courses

  • Adaptive learning paths that adjust to your pace and learning style
  • Focus on one word at a time for maximum retention
  • Customized content based on your native language and target language

🎭 Scene-Based Conversations

  • Practice real-world scenarios with AI voice agents
  • Interactive conversations in restaurants, airports, meetings, and everyday situations
  • Voice recognition and pronunciation feedback

⚑ Bite-Sized Learning

  • Micro-lessons that fit into your busy schedule (5-10 minutes daily)
  • Progress tracking with streaks and achievements
  • Gamified learning experience with points and rewards

🌍 30+ Languages Supported

  • Learn popular languages: Spanish, French, German, Italian, Portuguese
  • Asian languages: Mandarin, Japanese, Korean, Hindi
  • And many more languages to explore!

πŸ‘₯ Community Features

  • Activity calendar to track your learning journey
  • User profiles with progress visualization
  • Streak tracking and achievement system

🎨 Beautiful User Interface

  • Modern, clean design with smooth animations
  • Dark/light theme support
  • Responsive design that works on all screen sizes
  • Friendly frog mascot for guidance and motivation

πŸ› οΈ Technology Stack

Frontend

  • React 19 - Modern UI framework with hooks
  • TypeScript - Type-safe development
  • Tailwind CSS - Utility-first CSS framework
  • Vite - Fast build tool and development server
  • React Router Dom - Client-side routing
  • Zustand - State management
  • React Query - Server state management

Desktop Framework

  • Electron - Cross-platform desktop application framework
  • Electron Store - Persistent data storage
  • Electron Builder - Application packaging and distribution

UI Components

  • Radix UI - Accessible component primitives
  • Lucide React - Beautiful icons
  • Sonner - Toast notifications
  • React Hook Form - Form handling
  • Recharts - Data visualization
  • React Activity Calendar - Activity tracking visualization

Additional Libraries

  • Simple Keyboard - Virtual keyboard component
  • Motion - Smooth animations
  • Zod - Schema validation
  • Date-fns - Date utility functions

πŸ“¦ Installation

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn package manager

Clone and Install

# Clone the repository
git clone https://github.com/LangQuest-App/LangQuest.git

# Navigate to project directory
cd LangQuest

# Install dependencies
npm install

πŸš€ Development

Start Development Server

# Run both React and Electron in development mode
npm run dev

# Or run them separately:
npm run dev:react    # Start Vite development server
npm run dev:electron # Start Electron app

Build for Production

# Build the application
npm run build

# Build and package for different platforms
npm run dist:win     # Windows (x64)
npm run dist:mac     # macOS (ARM64)
npm run dist:linux   # Linux (x64)

Other Commands

npm run lint         # Run ESLint
npm run preview      # Preview production build
npm run transpile:electron # Compile TypeScript for Electron

πŸ“ Project Structure

LangQuest/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ electron/           # Electron main process files
β”‚   β”‚   β”œβ”€β”€ main.ts        # Main Electron process
β”‚   β”‚   β”œβ”€β”€ preload.ts     # Preload script for IPC
β”‚   β”‚   └── util.ts        # Utility functions
β”‚   β”‚
β”‚   └── ui/                # React frontend
β”‚       β”œβ”€β”€ components/    # React components
β”‚       β”‚   β”œβ”€β”€ Auth/      # Authentication components
β”‚       β”‚   β”œβ”€β”€ Buttons/   # Reusable button components
β”‚       β”‚   β”œβ”€β”€ Lessons/   # Lesson-related components
β”‚       β”‚   β”œβ”€β”€ Profile/   # User profile components
β”‚       β”‚   β”œβ”€β”€ Quiz/      # Practice quiz components
β”‚       β”‚   └── ui/        # Radix UI components
β”‚       β”‚
β”‚       β”œβ”€β”€ hooks/         # Custom React hooks
β”‚       β”œβ”€β”€ lib/           # Utilities and stores
β”‚       β”‚   β”œβ”€β”€ contextStores/ # Zustand state stores
β”‚       β”‚   └── types/     # TypeScript type definitions
β”‚       β”‚
β”‚       β”œβ”€β”€ pages/         # Page components
β”‚       β”œβ”€β”€ types/         # Global type definitions
β”‚       └── utils/         # Utility functions
β”‚
β”œβ”€β”€ public/                # Static assets
β”‚   β”œβ”€β”€ images/           # App images and icons
β”‚   └── fonts/            # Custom fonts
β”‚
β”œβ”€β”€ dist-electron/        # Built Electron files
β”œβ”€β”€ dist-react/          # Built React files
└── electron-builder.json # Electron Builder configuration

🎯 Key Features & Components

Authentication System

  • Sign Up/Sign In - Beautiful animated forms with form validation
  • User Management - Persistent user data with Electron Store
  • Profile System - User preferences and learning progress

Learning Experience

  • Onboarding - Interactive questionnaire to personalize learning
  • Lesson System - AI-generated lessons based on user preferences
  • Scene Practice - Real-world conversation scenarios
  • Progress Tracking - Visual progress indicators and streak tracking

Interactive Elements

  • Virtual Keyboard - Multi-language keyboard support
  • Voice Recognition - Practice pronunciation with AI feedback
  • Responsive Design - Works seamlessly on all screen sizes

πŸ”§ Configuration

Electron Builder Configuration

The app is configured to build for multiple platforms:

  • Windows: x64 architecture
  • macOS: ARM64 (Apple Silicon) support
  • Linux: x64 architecture

TypeScript Configuration

  • Separate TypeScript configs for Electron and React
  • Strict type checking enabled
  • Path aliases for clean imports

Development Tools

  • ESLint - Code linting with React and TypeScript rules
  • Prettier - Code formatting (via ESLint integration)
  • Hot Reload - Fast development with Vite HMR

🌟 User Journey

  1. Welcome Screen - Beautiful landing page with animated frog mascot
  2. Authentication - Sign up or sign in with elegant forms
  3. Onboarding - Personalization questionnaire for learning preferences
  4. Dashboard - Main hub with lessons, practice, and profile access
  5. Learning - Interactive lessons with AI-generated content
  6. Practice - Real-world scenarios and conversation practice
  7. Progress - Track achievements, streaks, and learning statistics

🎨 Design Philosophy

LangQuest focuses on creating a joyful and stress-free learning experience:

  • Friendly Mascot - Our frog companion guides users through their journey
  • Smooth Animations - Delightful micro-interactions enhance user experience
  • Clean Interface - Minimalist design reduces cognitive load
  • Gamification - Points, streaks, and achievements maintain motivation
  • Accessibility - Built with inclusive design principles

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices
  • Use existing UI components from the design system
  • Ensure responsive design
  • Write meaningful commit messages
  • Test your changes thoroughly

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Hackathon Team - Original developers
  • Radix UI - For accessible component primitives
  • Lucide - For beautiful icons
  • Electron Community - For the amazing desktop framework
  • React Community - For the robust frontend ecosystem

πŸ“ž Support

If you encounter any issues or have questions:

  1. Check the Issues page
  2. Create a new issue with detailed description
  3. Join our community discussions

Happy Learning! πŸΈπŸ“š

Start your language learning adventure with LangQuest today!

About

Desktop application build on electron to allow users learn a language with scene based interaction using MURF AI. Click on the URL below to download the application or download from the release section

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages