A decentralized platform for language learning that combines Web3 technology with interactive education. Built with Next.js, Tailwind CSS, and Moonbeam blockchain integration.
- 1000+ Active Learners
- 50+ AI-Generated Lessons
- 10k+ Rewards Earned
- 4.9 User Rating
-
Interactive Lessons: Engaging language lessons with various quiz types
- Multiple Choice Questions
- Fill in the Blanks
- Speaking Practice
- Matching Exercises
- Reordering Tasks
- Cloze Passages
-
Web3 Integration 🔗
- Progress tracking on-chain
- Token rewards for completing lessons
- Achievement NFTs
- Decentralized content storage using IPFS
-
User Experience 💫
- Responsive design for all devices
- Beautiful UI with smooth animations
- Real-time feedback
- Progress tracking
- Achievement system
- Connect Wallet: Link your Web3 wallet to begin your personalized learning experience
- Choose Lessons: Select from AI-generated lessons perfectly tailored to your skill level
- Earn Rewards: Complete lessons to earn tokens and track your progress on-chain
-
Frontend:
- Next.js 14 (App Router)
- TailwindCSS
- Framer Motion
- ConnectKit
- wagmi
-
Blockchain:
- Moonbeam/Moonbase Alpha
- Solidity Smart Contracts
- OpenZeppelin Contracts
-
Storage:
- IPFS for lesson content
- Local storage for progress caching
- Clone the repository:
git clone https://github.com/yourusername/language-courses-on-chain.git
cd language-courses-on-chain- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env.localFill in your environment variables:
NEXT_PUBLIC_WALLETCONNECT_PROJECT_IDNEXT_PUBLIC_MOONBEAM_RPC_URLNEXT_PUBLIC_MOONBASE_RPC_URLOPENAI_API_KEY(for content generation)
- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
The project uses the following main contracts:
LessonManager.sol: Manages lesson content and completion trackingUserProfile.sol: Handles user progress and achievementsAchievement.sol: NFT contract for achievement badges
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.