Skip to content

Improve your learning skills with an all-in-one, personalized education assistant. | Best Education Project · Boost Hacks 2024

Notifications You must be signed in to change notification settings

SamGu-NRX/StudyBuddy

Repository files navigation

StudyBuddy

Improve your learning skills with an all-in-one, personalized education assistant.
Unlimited MCQ and flashcard generation for standardized tests, difficult subjects, and active recall.
Best Education Project • Boost Hacks II


Features

Dashboard Overview

Smooth animations and real-time statistics

Dashboard and Statistics Page

Responsive Onboarding

Document upload & Advanced OCR (server computing via Tesseract.js) linking to local storage (refresh resistant)

Onboarding

How It's Made

Front-end React, Next.js, Tailwind CSS
Back-end MongoDB, Prisma ORM, Flask
APIs Resend (Emailing/Authentication), NextAuth (Authentication), Tesseract.js (OCR)
Hosting Vercel (full-stack)

Project Status

To-Do

  • Develop even more personalized shuffle algorithm for even better active recall
  • More robust fact-checking for optimal accuracy
  • Integrate with popular learning management systems (such as notion)
  • Deploy backend to sustainable service (GPU access)
  • Set up automated testing pipeline

Finished

  • Design and implement dashboard UI
  • Implement robust user authentication system with settings, confirmation emails, password changing, and more
  • Set up MongoDB database with Prisma ORM, connected with OpenAI API using Flask
  • AI-powered learning system accepting long context files for optimal question and flashcard generation
  • Basic fact-checking for material generation
  • Implement document upload functionality
  • Integrate Tesseract.js for OCR capabilities
  • Create mobile-responsive design

Lessons Learned

Our team gained valuable experience in:

  • Effectively using NextJS for dynamic full-stack development
  • Implementing AI tools on the backend, including GPT's APIs for content generation
  • Debugging and problem-solving in a hackathon environment
  • Project management and effective team communication

How to Run

Requirements

Before you begin, ensure you have met the following requirements:

  • A modern web browser
  • Python 3 and pip
  • Node.js installed on your machine
  • and a JS package manager (pnpm recommended)

Step 1: Node Setup and Run

# Using pnpm (recommended)
./setup.sh  # or ./setup.bat on Windows

# Or, if not using pnpm
<package manager> install
<package manager run (ex: npx)> prisma generate
<package manager run (ex: npx)> prisma db push
<package manager> run dev

Step 2: Python Setup and Run

cd ./Backend
pip install -r ./requirements.txt
python -m flask run

Ensure the Flask app runs on port 5000 or update the .env file accordingly. Default: FLASK_API_URL=http://127.0.0.1:5000/

Step 3: Run Next.js Dev Server

cd ..
next dev  # or npm/pnpm run dev, depending on your setup

Next.jscreate-next-app

About

Improve your learning skills with an all-in-one, personalized education assistant. | Best Education Project · Boost Hacks 2024

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •