AI-Powered Learning Platform
Transform your notes into smart flashcards, adaptive quizzes, and personalized study plans. Study smarter, not harder, with proven AI technology.
- AI Quiz & Flashcard Generation: Upload notes or PDFs and instantly generate personalized quizzes and flashcards.
- Real-time Collaboration: Join study groups, chat live, and share resources.
- Progress Analytics: Track mastery, streaks, and learning velocity with beautiful charts.
- Community Sharing: Discover and share study materials with others.
- Gamification: Earn XP, climb leaderboards, and maintain daily streaks.
- Secure Authentication: Login with email or Google via Firebase.
| Frontend | Backend | Database | Real-time | AI | Auth | Deployment |
|---|---|---|---|---|---|---|
| Next.js 14 | Next.js API | MongoDB Atlas | Socket.io | Gemini API | Firebase | Vercel + Render |
| React 18 | Express.js | |||||
| TypeScript | ||||||
| TailwindCSS |
git clone https://github.com/Premshaw23/brainwave
cd brainwave
npm install
cp .env.example .env.local
# Add your environment variables
npm run dev:all- Register or login to your account
- Upload notes or PDFs to generate quizzes/flashcards
- Join study groups and collaborate in real-time
- Track your progress and streaks on the dashboard
- Share and discover materials in the community
brainwave/
├── app/ # Next.js app router & API routes
├── components/ # UI and feature components
├── lib/ # Utility libraries (firebase, gemini, etc.)
├── models/ # Mongoose schemas
├── server/ # Socket.io server
├── types/ # TypeScript types
├── public/ # Static assets
├── ... # Configs, env, etc.
See .env.example for all required variables:
# MongoDB
MONGODB_URI=
# Firebase
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
NEXT_PUBLIC_FIREBASE_APP_ID=
FIREBASE_ADMIN_PROJECT_ID=
FIREBASE_ADMIN_CLIENT_EMAIL=
FIREBASE_ADMIN_PRIVATE_KEY=
# Gemini
GEMINI_API_KEY=
# Socket.io
NEXT_PUBLIC_SOCKET_URL=http://localhost:3001
SOCKET_PORT=3001
# Security
JWT_SECRET=
NEXT_PUBLIC_APP_URL=http://localhost:3000https://brainwave-two-iota.vercel.app/
- Video study sessions
- AI tutoring chat
- Mobile app (React Native)
- Advanced analytics with ML predictions
- Collaborative note-taking
Contributions, issues, and feature requests are welcome!
Please read the contributing guidelines first.
MIT
- All features tested locally
- No console.errors in production
- All environment variables set
- MongoDB indexes created
- Firebase rules configured
- Socket.io CORS updated
- Images optimized
- Bundle size checked
- Mobile responsive tested
- Loading states work
- Error handling works
- Repository pushed to GitHub
- Vercel project created
- Environment variables added
- Build successful
- Site accessible
- No 404 errors
- API routes working
- Authentication working
- Socket server deployed
- Environment variables set
- Health endpoint accessible
- CORS configured
- WebSocket connection works
- Messages sent successfully
- Test complete user flow
- Multi-user testing
- Mobile browser testing
- Performance check (Lighthouse)
- SEO basics done
- Analytics set up (optional)
- Domain configured (optional)





