Skip to content

Latest commit

 

History

History
196 lines (147 loc) · 4.82 KB

File metadata and controls

196 lines (147 loc) · 4.82 KB

BrainWave Logo

🧠 BrainWave

AI-Powered Learning Platform

Transform your notes into smart flashcards, adaptive quizzes, and personalized study plans. Study smarter, not harder, with proven AI technology.


🌟 Features

  • 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.

🖥️ Tech Stack

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

📦 Quick Start

git clone https://github.com/Premshaw23/brainwave
cd brainwave
npm install
cp .env.example .env.local
# Add your environment variables
npm run dev:all

📝 Usage

  1. Register or login to your account
  2. Upload notes or PDFs to generate quizzes/flashcards
  3. Join study groups and collaborate in real-time
  4. Track your progress and streaks on the dashboard
  5. Share and discover materials in the community

📁 Folder Structure

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.

🔑 Environment Variables

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:3000

📸 Screenshots & Demo

🏠 Home Page

Home Page

📊 Dashboard

Dashboard

🗂️ Flashcards

Flashcards

📈 Analytics

Analytics

👥 Study Group

Study Group

🌐 Live Demo

https://brainwave-two-iota.vercel.app/


🎯 Roadmap & Future Enhancements

  • Video study sessions
  • AI tutoring chat
  • Mobile app (React Native)
  • Advanced analytics with ML predictions
  • Collaborative note-taking

🤝 Contributing

Contributions, issues, and feature requests are welcome!
Please read the contributing guidelines first.


📄 License

MIT


👤 Author

Prem Shaw


✅ Deployment Checklist

Pre-Launch

  • 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

Vercel Deployment

  • Repository pushed to GitHub
  • Vercel project created
  • Environment variables added
  • Build successful
  • Site accessible
  • No 404 errors
  • API routes working
  • Authentication working

Render Deployment

  • Socket server deployed
  • Environment variables set
  • Health endpoint accessible
  • CORS configured
  • WebSocket connection works
  • Messages sent successfully

Post-Launch

  • Test complete user flow
  • Multi-user testing
  • Mobile browser testing
  • Performance check (Lighthouse)
  • SEO basics done
  • Analytics set up (optional)
  • Domain configured (optional)