A modern, AI-powered educational dashboard that transforms PDF content into interactive quizzes and flashcards. Built with Next.js, TypeScript, and Tailwind CSS.
- Interactive Quizzes: AI-generated questions from PDF content
- Smart Flashcards: Auto-generated flashcards with flip animations
- PDF Content Processing: Upload PDFs and generate learning materials
- Progress Tracking: Monitor your learning progress and achievements
- Study Analytics: Detailed insights into your study patterns
- Math Puzzles: Interactive mathematical challenges,and interesting mathematical puzzle
- Pictionary: Visual learning through drawing
- Hangman: Word-based learning games
- Spelling Bee: Improve spelling and vocabulary
- Word Scramble: Enhance word recognition
- Memory Match: Concentration and matching games
- Word Association: Build vocabulary connections
- Real-time Progress: Visual progress bars and statistics
- Achievement System: Earn XP, coins, and badges
- Streak Tracking: Daily study streak monitoring
- Study Timer: Pomodoro-style study sessions
- Learning Goals: Set and track educational objectives
- Activity Feed: Recent learning activities and achievements
- Gemma3n AI Model: Powered by Ollama for content generation
- PDF Processing: Extract and structure content from PDFs
- Smart Content Generation: Create quizzes and flashcards automatically
- Natural Language Processing: Understand and process educational content
- Node.js (v18 or higher)
- Python (v3.8 or higher)
- Ollama (for AI model)
-
Clone the repository
git clone <repository-url> cd dashboard
-
Install Node.js dependencies
npm install
-
Install Python dependencies
pip install -r requirements.txt
-
Install and setup Ollama
# Download Ollama from https://ollama.ai # Install the Gemma3n model ollama pull gemma3n
-
Start the development server
npm run dev
-
Open your browser
Open Network:{your network link} -
To open video generator
cd genrate npm install node server.js -
Open your browser
https://localhost:3003
# Start development server
npm run dev
# Build for production
npm run build
# Start production server
npm start
# Run linting
npm run lint
# Type checking
npx tsc --noEmit# Test PDF integration
python test_pdf_integration.py
# Test AI model
python test_ai.py
# Test PDF components
python test_pdf_components.py
# Test PDF setup
python test_pdf_setup.py# Start Ollama server
ollama serve
# Pull AI model
ollama pull gemma3n
# List available models
ollama list
# Run model directly
ollama run gemma3ndashboard/
├── src/
│ ├── app/ # Next.js app directory
│ │ ├── api/ # API routes
│ │ ├── dashboard/ # Dashboard pages
│ │ ├── login/ # Authentication pages
│ │ └── signup/ # Registration pages
│ ├── components/ # React components
│ │ ├── games/ # Educational games
│ │ ├── learning/ # Learning tools
│ │ └── ui/ # UI components
│ └── lib/ # Utility libraries
│ ├── scripts/ # Generated content
│ └── books/ # PDF storage
├── public/ # Static assets
├── requirements.txt # Python dependencies
└── package.json # Node.js dependencies
- Open the dashboard at
http://localhost:3000 - Create an account or log in
- Explore the different learning tools
- Upload PDF: Go to PDF Browser → Upload PDF
- Select Subject & Chapter: Choose appropriate categories
- Generate Content: AI will create quizzes and flashcards
- Start Learning: Choose between quiz or flashcard mode
- Quizzes: Multiple choice questions with instant feedback
- Flashcards: Interactive cards with flip animations
- Games: Educational games for different subjects
- Study Timer: Timed study sessions with breaks
- Dashboard Overview: View your learning statistics
- Achievements: Track XP, coins, and badges
- Streaks: Monitor daily study consistency
- Analytics: Detailed learning insights
Create a .env.local file:
# Next.js configuration
NEXT_PUBLIC_APP_URL=http://localhost:3000
# AI Model configuration
OLLAMA_HOST=http://localhost:11434
OLLAMA_MODEL=gemma3n
# Database configuration (if using)
DATABASE_URL=your_database_urlThe project uses Tailwind CSS v4 with custom configurations:
- Custom color schemes
- Responsive design utilities
- Animation classes
- Custom components
- Multiple Choice Questions: AI-generated from PDF content
- Instant Feedback: Immediate scoring and explanations
- Progress Tracking: Save scores and track improvement
- Difficulty Levels: Easy, medium, and hard questions
- Interactive Cards: Click to flip between question and answer
- Progress Tracking: Mark cards as known/unknown
- Shuffle Mode: Randomize card order
- Study Statistics: Track learning progress
- Multiple Games: 7 different educational games
- Subject Integration: Games adapt to selected subjects
- Scoring System: Earn points and track high scores
- Difficulty Progression: Games get harder as you improve
- Upload: PDF file uploaded to server
- Extraction: Python scripts extract text content
- Processing: AI model analyzes and structures content
- Generation: Creates quizzes and flashcards
- Storage: Saves as TypeScript files for frontend use
- Content Analysis: Understands educational content
- Question Generation: Creates relevant quiz questions
- Flashcard Creation: Generates question-answer pairs
- Natural Language: Processes complex educational text
The dashboard is fully responsive and works on:
- Desktop: Full-featured experience
- Tablet: Optimized touch interface
- Mobile: Streamlined mobile experience
- Components: Add to
src/components/ - Pages: Add to
src/app/ - API Routes: Add to
src/app/api/ - Styles: Use Tailwind CSS classes
# Run all tests
npm test
# Test specific components
npm run test:components
# Test API endpoints
npm run test:api# Install Vercel CLI
npm i -g vercel
# Deploy
vercel
# Set environment variables
vercel env add OLLAMA_HOST
vercel env add OLLAMA_MODEL# Build image
docker build -t cogniflow .
# Run container
docker run -p 3000:3000 cogniflow- Next.js 15: Latest framework with optimizations
- Image Optimization: Automatic image compression
- Code Splitting: Lazy loading of components
- Caching: Intelligent caching strategies
- Bundle Analysis: Optimized JavaScript bundles
- Performance Metrics: Core Web Vitals tracking
- Error Monitoring: Automatic error reporting
- Analytics: User behavior tracking
- Health Checks: System status monitoring
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make changes: Follow coding standards
- Test thoroughly: Ensure all features work
- Submit pull request: Detailed description of changes
- TypeScript: Strict type checking
- ESLint: Code quality enforcement
- Prettier: Code formatting
- Conventional Commits: Standard commit messages
This project is licensed under the MIT License - see the LICENSE file for details.
- Ollama not running: Start with
ollama serve - PDF processing fails: Check Python dependencies
- Build errors: Clear cache with
npm run clean - Port conflicts: Change port in
package.json
- Documentation: Check this README
- Issues: Create GitHub issue
- Discussions: Use GitHub discussions
- Email: Contact maintainers
- Next.js Team: Amazing React framework
- Tailwind CSS: Beautiful utility-first CSS
- Ollama Team: Local AI model hosting
- Gemma Team: Open-source AI models
- Community: All contributors and users
Made with ❤️ for better education