Inspiration

The inspiration for StudyHub came from the chaotic nature of academic resource management. Students often struggle to find verified, high-quality notes across different subjects like B.Tech, BCA, and Pharmacy. We wanted to build a centralized "Academic Social Network" where knowledge is freely shared but secured through modern verification methods like Voice-OTP to prevent spam and ensure a community of real learners.

What it does

Securely Register: Uses a custom Twilio Voice API integration to verify users via phone calls before they can create an account.

Share Resources: Provides a seamless interface for uploading notes categorized by Course, Year, and Subject.

Browse & Search: Features a dynamic dashboard where users can filter, search, and preview notes (PDFs, images, or docs) directly in the browser.

How we built it

Frontend: Built with clean HTML5, CSS3, and Vanilla JavaScript using ES6 Modules for a modular structure.

Backend: A Node.js and Express server handles the API requests for AI generation

Challenges we ran into

Module System Conflicts: We initially faced errors importing otpStore.js and otp.js due to Node.js defaulting to CommonJS instead of ES Modules. We resolved this by configuring "type": "module" in package.json.

Accomplishments that we're proud of

Successful Voice-OTP Integration: Getting the server to trigger a real-time voice call with a unique code was a major technical milestone.

Clean UI/UX: Creating a responsive dashboard that allows users to switch between viewing notes, uploading, and chatting with an AI without page reloads

What we learned

Backend Security: We learned the importance of using .env files to hide API keys from the public.

Modular Coding: Breaking the project into files like server.js, script.js

What's next for Study Hub

Database Migration: Moving from local storage/memory caches to a robust MongoDB database for permanent user and note storage.

Community Features: Adding a "Comment" and "Rating" system so students can review the quality of uploaded notes.

Built With

Share this project:

Updates