AI-powered classroom platform with announcements, topic polling, peer discovery, and discussion threads.
For Teachers:
- 📢 Create announcements with PDF uploads
- 🤖 Auto-generate discussion topics from PDFs using AI
- 📊 View student understanding through polls
- 📈 Analytics dashboard for engagement tracking
For Students:
- 📚 View announcements and download materials
- ✅ Vote on understanding level for each topic (Complete/Partial/None)
- 👥 Find classmates who can help with topics
- 💬 Discuss with peers and get AI assistance using @AI
- Python 3.8+
- Node.js 16+
- Ollama (for AI features)
# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Pull AI model
ollama pull llama3.1:8b
# Start Ollama (if not running)
ollama servecd backend
# First time setup
./setup.sh
# Start server
./run.shThe backend will show both local and network URLs:
- Local:
http://localhost:8000 - Network:
http://YOUR_IP:8000
cd frontend
# Install dependencies (first time)
npm install
# Start development server
npm run devVite will display:
- Local:
http://localhost:5173 - Network:
http://YOUR_IP:5173
- Open
http://localhost:5173in your browser - Teacher Login: Name =
Teacher(case-sensitive) - Student Login: Signup with any name
To allow others on the same network (e.g., classroom WiFi) to access the app:
-
Find your IP address:
ifconfig | grep "inet " | grep -v 127.0.0.1
Look for something like
192.168.1.100or10.x.x.x -
Share the Network URL with students:
- Students access:
http://YOUR_IP:5173 - Example:
http://192.168.1.100:5173
- Students access:
-
Both servers automatically accept network connections - no additional configuration needed!
Note: All devices must be on the same WiFi/network.
-
Create Announcement
- Click "New Post" button
- Enter title and content
- Upload PDF (optional) - AI will auto-generate 2-6 topics and create discussion threads
- Students can view/download the PDF
-
Monitor Understanding
- Check polling sidebar to see student votes:
- ✅ Green = Understand completely
⚠️ Yellow = Partially understand- ❌ Red = Need help
- Click on counts to see which students
- Check polling sidebar to see student votes:
-
View Analytics
- Click "Analytics" button for engagement metrics
-
Join Discussions
- Click "Thread" button on any topic
- Use
@AIfor help (e.g., "@AI create a quiz on this topic")
-
View Announcements
- See all posts on homepage
- Click "View" to open PDFs, "Download" to save
-
Vote on Understanding
- Use polling sidebar on the right
- Click ✅
⚠️ or ❌ for each topic - Change vote anytime
-
Find Help
- Click "👥 Help" button on topics you're struggling with
- See students who marked "Complete Understanding"
-
Discuss & Learn
- Click "Thread" button to join discussions
- Chat with classmates
- Use
@AIfor AI assistance (e.g., "@AI explain this concept")
| Issue | Solution |
|---|---|
| Ollama not connecting | Run ollama serve |
| Can't login as Teacher | Use exact name: Teacher (case-sensitive) |
| @AI not responding | Make sure you typed @AI in your message |
| PDF upload fails | Ensure file is PDF format |
| Network access not working | Check all devices on same WiFi, verify firewall |
# Reset Backend
cd backend
rm data.db
./run.sh
# Reset Frontend
cd frontend
rm -rf node_modules package-lock.json
npm install
npm run dev# Backend
curl http://localhost:8000
# Frontend
curl http://localhost:5173- @AI Feature: AI responds in 5-30 seconds. Be specific in your questions.
- Poll Updates: Teachers can see votes in real-time.
- PDF Processing: First PDF upload takes 10-30 seconds while AI extracts topics.
- Peer Learning: Students who vote "Complete" become potential tutors for others.
- Backend: Python, FastAPI, SQLite, Ollama
- Frontend: React, Vite, Tailwind CSS
- AI Model: llama3.1:8b
- Login as "Teacher"
- Click "New Post" → Upload a PDF
- Wait for AI to process (10-30 sec)
- See announcement with auto-generated topics
- Logout → Create student account
- Vote on topics using ✅
⚠️ ❌ - Click "Thread" → Type "@AI explain this"
- Get instant AI help!
Enjoy your smart classroom! 🎓