- Akshay Chavan
- Sudhanva Paturkar
- Aditya Deshpande
- Prathamesh Akole
StudyBuddy was born from the challenges students face in effectively processing and retaining information from educational videos and documents. We recognized that traditional note-taking methods often fall short in capturing the full depth of learning materials, and students need more interactive and engaging ways to study. Our inspiration came from the desire to create an AI-powered study companion that could transform passive learning into an active, engaging experience.
-
Video & PDF Processing
- Upload educational videos or PDFs
- Support for YouTube video links
- Automatic transcription of video content
- PDF text extraction and analysis
-
AI-Powered Study Tools
- ๐ Smart Notes Generation
- ๐ด Interactive Flashcards
- ๐ง Mind Maps
- โ Auto-generated Quizzes
- ๐ฌ Context-aware Chat Assistant
- ๐ Progress Tracking
-
User Experience
- ๐ Dark/Light Theme
- ๐ฑ Responsive Design
- ๐ Secure Authentication
- ๐ Study History
- ๐ฅ PDF Export
- Next.js 15 - React Framework
- TypeScript - Type Safety
- Tailwind CSS - Styling
- Radix UI - UI Components
- React Flow - Mind Map Visualization
- Lucide Icons - Icons
- Flask - Python Web Framework
- MongoDB - Database
- Google Cloud Speech-to-Text - Audio Transcription
- Google Gemini - AI/ML Processing
- PyTube - YouTube Integration
- Node.js 18+ and npm
- Python 3.8+
- MongoDB
- FFmpeg
- Google Cloud Account with necessary APIs enabled
# Navigate to frontend directory
cd frontend/study-buddy
# Install dependencies
npm install
# Start development server
npm run dev# Navigate to backend directory
cd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Install FFmpeg (macOS)
brew install ffmpeg
# Start backend server
python app.pyMONGO_URI=your_mongodb_connection_string
GCS_BUCKET_NAME=your_gcs_bucket_name
GOOGLE_APPLICATION_CREDENTIALS=path_to_your_service_account_json- Go to Google Cloud Console
- Click on the project dropdown near the top of the page
- Click "New Project"
- Enter a project name and click "Create"
- In the Google Cloud Console, go to "APIs & Services" > "Library"
- Search for and enable these APIs:
- "Google Cloud Speech-to-Text API"
- "Gemini API"
- "Cloud Storage API"
For each API:
- Click on the API name
- Click "Enable"
- Wait for activation to complete
- Go to "IAM & Admin" > "Service Accounts"
- Click "Create Service Account"
- Fill in the details:
- Name:
studybuddy-service - Description:
Service account for StudyBuddy application
- Name:
- Click "Create and Continue"
- Add these roles:
Cloud Speech-to-Text UserStorage Object ViewerStorage Object Creator
- Click "Continue" and then "Done"
- Generate the key:
- Find your service account in the list
- Click the three dots (โฎ) under "Actions"
- Select "Manage keys"
- Click "Add Key" > "Create new key"
- Choose "JSON" format
- Click "Create"
- The key file will automatically download
- Go to "Cloud Storage" > "Buckets"
- Click "Create Bucket"
- Configure your bucket:
- Choose a unique name
- Select your preferred location
- Leave other settings as default
- Click "Create"
- Visit Google AI Studio
- Click "Get API Key"
- If you don't have any keys:
- Click "Create API key"
- Copy and save the key securely
- If you have existing keys:
- Use an existing key or create a new one
- Copy the key value
- Move the downloaded service account JSON key to your project's backend directory
- Update your
backend/.envfile with:GOOGLE_APPLICATION_CREDENTIALS=./your-service-account-key.json GCS_BUCKET_NAME=your-bucket-name GEMINI_API_KEY=your-gemini-api-key
- Never commit your service account key or API keys to version control
- Add these patterns to your
.gitignore:*.json .env - Keep your API keys and service account key secure
- Rotate keys periodically for security
- Set up proper IAM roles and permissions in production
-
API Enabling Issues
- Ensure billing is enabled for your project
- Wait a few minutes after enabling APIs
- Check if you have necessary permissions
-
Service Account Issues
- Verify the key file is in the correct location
- Check if the service account has required roles
- Ensure the key file path in
.envis correct
-
Storage Bucket Issues
- Verify bucket name is globally unique
- Check if service account has storage permissions
- Ensure bucket location matches your requirements
-
Gemini API Issues
- Verify API key is correctly copied
- Check if you're within API quotas
- Ensure the API is properly enabled
For any other issues, consult the Google Cloud Documentation or Google AI Studio Documentation.
-
Authentication
- Register a new account or login
- Secure session management
-
Content Upload
- Upload video files or PDFs
- Paste YouTube URLs
- Support for multiple formats
-
Study Tools
- Access auto-generated study materials
- Interact with AI chat assistant
- Export notes as PDF
- Review with flashcards
- Visualize concepts with mind maps
- Test knowledge with quizzes
-
History & Progress
- Track learning progress
- Access previous study materials
- Review past sessions
This project is licensed under the MIT License - see the LICENSE file for details.
