An interactive learning visualization tool that helps users explore and understand complex topics through dynamic knowledge trees. Built with Next.js, TypeScript, and ReactFlow, NodeLearn transforms learning into an engaging visual experience.
- Interactive knowledge tree visualization
- Dynamic node generation and exploration
- Real-time topic exploration with AI integration
- Beautiful and responsive UI with smooth animations
- History tracking of learning sessions
- Collision-free node layout algorithm
- Customizable node styling and interactions
- Search functionality across learning history
- MongoDB integration for persistent storage
- Google Generative AI for intelligent topic exploration
- Framework: Next.js 15
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI
- Data Visualization: ReactFlow
- Database: MongoDB
- AI: Google Generative AI
- Animation: Framer Motion
- Node.js (LTS version recommended)
- npm or yarn
- MongoDB (if using local database)
- Google AI API key (for topic exploration)
- GROQ API key (for AI-powered topic exploration)
-
Clone the repository:
git clone [repository-url] cd NodeLearn -
Install dependencies:
cd client npm install -
Set up environment variables: Create a
.env.localfile in the client directory with the following variables:MONGODB_URI=your_mongodb_connection_string GOOGLE_API_KEY=your_google_ai_api_key GROQ_API_KEY=your_groq_api_key GROQ_MODEL=meta-llama/llama-4-maverick-17b-128e-instruct -
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser to start exploring topics.
client/
βββ app/ # Next.js app directory
βββ components/ # Reusable UI components
β βββ zoom-slider/ # Custom zoom control component
β βββ ... # Other UI components
βββ lib/ # Utility functions and configurations
βββ models/ # Data models for MongoDB
βββ public/ # Static assets
βββ functions/ # Serverless functions
- Topic Input: Enter any topic you want to explore
- Tree Generation: The system generates a root node with the main topic
- Interactive Exploration: Click on nodes to generate related subtopics
- Visual Learning: Navigate through the knowledge tree to understand relationships
- History Tracking: Save and revisit your learning sessions
npm run dev- Start development server with Turbopacknpm run build- Build the application for productionnpm run start- Start the production servernpm run lint- Run ESLint
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.