LinguaMate is an interactive language learning platform designed to help users master new languages through personalized learning paths, interactive lessons, and real-time conversations.
- User Authentication: Secure email and password-based authentication system
- Personalized Learning: Tailored learning paths based on user proficiency
- Interactive Lessons: Engaging content for effective language acquisition
- Multiple Languages: Support for over 30 languages
- Progress Tracking: Monitor your learning journey with detailed statistics
- Modern, responsive UI built with Next.js 15
- Server-side rendering for optimal performance
- Type-safe development with TypeScript
- Secure authentication using Next-Auth
- Form validation using Zod
- Real-time feedback with toast notifications
- Dark mode support
- Tailwind CSS for styling
- Framework: Next.js 15
- Language: TypeScript
- Styling: Tailwind CSS
- Components: shadcn/ui
- Icons: Lucide React
- Toast Notifications: Sonner
- Authentication: Next-Auth
- Database: (Your database choice)
- Validation: Zod
- API: Next.js Server Actions
- Node.js (v18 or higher)
- npm or yarn
- (Any other prerequisites)
- Clone the repository
git clone https://github.com/yourusername/linguamate.git
- Install dependencies
cd linguamate
npm install
- Set up environment variables
cp .env.example .env.local
Fill in your environment variables in .env.local
- Run the development server
npm run dev
- Build for production
npm run build
Create a .env.local
file with the following variables:
# Get your OpenAI API Key here: https://platform.openai.com/account/api-keys
OPENAI_API_KEY=
# Generate a random secret: https://generate-secret.vercel.app/32 or `openssl rand -base64 32`
AUTH_SECRET=
GOOGLE_API_KEY=
# Instructions to create kv database here: https://vercel.com/docs/storage/vercel-blob
BLOB_READ_WRITE_TOKEN=
POSTGRES_URL=
linguamate/
├── app/ # Next.js app directory
├── components/ # Reusable components
├── lib/ # Utility functions and shared logic
├── public/ # Static assets
├── styles/ # Global styles
└── types/ # TypeScript type definitions
- Fork the repository
- Create your feature branch
- Commit your changes
This project is licensed under the MIT License - see the LICENSE.md file for details
- Next.js team for the amazing framework
- Vercel for hosting solutions
- shadcn/ui for the beautiful components
- Gemini API
- All contributors and supporters of the project
For support, please open an issue in the GitHub repository or contact us at (your contact information).
- Add voice recognition features
- Implement AI-powered conversation practice
- Add gamification elements
- Integrate with language learning APIs
- Add community features
- Implement progress sharing
- Add mobile app support
Made with ❤️ by (Your Name/Team Name)