Skip to content

Latest commit

Β 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š StudyBuddy - AI-Powered Study Companion

StudyBuddy Logo Version License React Node.js

An intelligent, AI-powered study companion that helps students learn more effectively with interactive tools, real-time collaboration, and personalized assistance.

🌟 Features

πŸ€– AI-Powered Learning Assistant

  • Intelligent Chatbot: Get instant help with study questions using Groq AI or local Ollama models
  • Smart Explanations: Receive detailed explanations for complex topics
  • Study Tips: Get personalized study strategies and time management advice

πŸ“ Study Tools

  • Digital Notes: Rich text editor with formatting tools for creating and organizing study notes
  • Flashcards: Create and review flashcards for effective memorization
  • Pomodoro Timer: Built-in focus timer with customizable work/break intervals

πŸ‘₯ Social Learning

  • Group Chat: Real-time collaborative study sessions with peers
  • Add Friends: Connect with other students for study partnerships
  • Study Groups: Join or create study groups for collaborative learning

🎯 Interactive Features

  • Quiz Duel: Challenge friends with interactive quizzes
  • Progress Tracking: Monitor your study progress and achievements
  • Dashboard: Personalized dashboard with study statistics and recommendations

πŸ“± Mobile-First Design

  • Responsive Design: Optimized for all devices (mobile, tablet, desktop)
  • Touch-Friendly: Intuitive touch interactions for mobile users
  • Offline Support: Core features work without internet connection

πŸš€ Tech Stack

Frontend

  • React 19 - Modern React with latest features
  • Vite - Fast build tool and development server
  • React Router - Client-side routing
  • React Query - Data fetching and state management
  • Framer Motion - Smooth animations and transitions
  • Socket.io Client - Real-time communication

Backend

  • Node.js - Runtime environment
  • Express.js - Web framework
  • Socket.io - Real-time bidirectional communication
  • CORS - Cross-origin resource sharing

AI Integration

  • Groq API - Fast AI inference for chat features
  • Ollama - Local AI model support (optional)

Additional Libraries

  • Tesseract.js - OCR functionality for image text recognition
  • React YouTube - YouTube video integration
  • Axios - HTTP client for API calls

πŸ“‹ Prerequisites

Before running this application, make sure you have the following installed:

  • Node.js (v18 or higher)
  • npm or bun package manager
  • Git for version control

Optional (for local AI features)

  • Ollama - For running local AI models
  • qwen3:8b model (if using Ollama)

πŸ› οΈ Installation

  1. Clone the repository

    git clone https://github.com/ameerhmz/StudyBuddy.git
    cd StudyBuddy
  2. Install dependencies

    npm install
    # or
    bun install
  3. Environment Setup Create a .env file in the root directory:

    REACT_APP_GROQ_API_KEY=your_groq_api_key_here
  4. Start the development server

    npm run dev
    # or
    bun run dev
  5. Start the backend server (in a separate terminal)

    npm run server
    # or
    bun run server

The application will be available at http://localhost:5173

πŸ”§ Configuration

Environment Variables

Variable Description Required
REACT_APP_GROQ_API_KEY API key for Groq AI services Yes (for AI chat features)

AI Model Configuration

The app supports two AI backends:

  1. Groq API (Cloud) - Faster, requires API key
  2. Ollama (Local) - Private, requires local installation

To use Ollama:

  1. Install Ollama from ollama.ai
  2. Pull the qwen3:8b model: ollama pull qwen3:8b
  3. Toggle "Use Local Model" in the chatbot settings

πŸ“– Usage

Getting Started

  1. Sign Up: Create your account or log in
  2. Explore Features: Navigate through different study tools
  3. Connect: Add friends and join study groups
  4. Learn: Use AI assistant for help with studies

Key Workflows

πŸ“ Taking Notes

  1. Go to the Notes page
  2. Use the rich text editor to format your content
  3. Save and organize your notes
  4. Export as needed

🧠 Creating Flashcards

  1. Navigate to Flashcards
  2. Add questions and answers
  3. Review and study your cards
  4. Track your progress

⏰ Using Pomodoro Timer

  1. Set your work and break intervals
  2. Start the timer
  3. Focus on your studies
  4. Take scheduled breaks

πŸ‘₯ Group Study

  1. Create or join a study group
  2. Chat with group members in real-time
  3. Share resources and study together

πŸ—οΈ Project Structure

StudyBuddy/
β”œβ”€β”€ public/                 # Static assets
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ Component/         # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ AppLayout.jsx  # Main layout wrapper
β”‚   β”‚   β”œβ”€β”€ Navbar.jsx     # Navigation component
β”‚   β”‚   β”œβ”€β”€ Dashboard.jsx  # User dashboard
β”‚   β”‚   β”œβ”€β”€ Chatbot.jsx    # AI assistant
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ context/           # React context providers
β”‚   β”‚   └── AuthContext.jsx # Authentication state
β”‚   β”œβ”€β”€ pages/             # Page components
β”‚   β”‚   β”œβ”€β”€ Home.jsx       # Landing page
β”‚   β”‚   β”œβ”€β”€ About.jsx      # About page
β”‚   β”‚   β”œβ”€β”€ Features.jsx   # Features showcase
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ styles/            # Global styles and themes
β”‚   β”‚   β”œβ”€β”€ theme.css      # Design tokens
β”‚   β”‚   └── apple-theme.css # Apple-inspired theme
β”‚   └── assets/            # Images and icons
β”œβ”€β”€ server.js              # Backend server
β”œβ”€β”€ package.json           # Dependencies and scripts
└── README.md             # This file

🎨 Design System

Color Palette

  • Primary: Blue gradient (#21d4fd to #b721ff)
  • Secondary: Clean whites and grays
  • Accent: Purple highlights

Typography

  • Primary Font: Inter (system font stack)
  • Headings: Bold, clean typography
  • Body: Readable sans-serif

Components

  • Glassmorphism: Modern frosted glass effects
  • Smooth Animations: Framer Motion transitions
  • Responsive Grid: Flexible layouts for all screens

πŸ”’ Security

  • API Key Protection: Sensitive keys stored in environment variables
  • Input Validation: Client and server-side validation
  • CORS Configuration: Secure cross-origin policies
  • Authentication: User session management

πŸš€ Deployment

Frontend Deployment

npm run build
# Deploy the 'dist' folder to your hosting service

Backend Deployment

npm run server
# Deploy to services like Heroku, Railway, or Vercel

Recommended Hosting

  • Frontend: Vercel, Netlify, or GitHub Pages
  • Backend: Railway, Render, or Heroku
  • Database: MongoDB Atlas (if needed for user data)

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Development Guidelines

  • Follow React best practices
  • Write clear, concise commit messages
  • Test on multiple devices and browsers
  • Ensure mobile responsiveness
  • Maintain code quality with ESLint

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • React Team for the amazing framework
  • Vite Team for the fast build tool
  • Groq for AI inference services
  • Ollama for local AI capabilities
  • Open Source Community for inspiration and tools

πŸ“ž Support

If you have any questions or need help:


Happy Studying! πŸŽ“

Made with ❀️ for students, by students

About

StudyBuddy website, has many features for students, be it ail chatbot, pomodoro, notes,OCR, StudyMusic and many more

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages