Project Info
This project did not submit a demo video on Devpost.
Inspiration
canvas chrome extension
What it does
summarization assistant using AI
How we built it
next js for backend and react js for frontend
Challenges we ran into
integration of AI and storing files in the database
Accomplishments we're proud of
searching function
What we learned
Learned how to integrate hugging face speech-to-text API and how to build connection between the frontend component to the backend api calling.
What's next
video incorporation and getting information through the video transcript
Study Vault
Study Vault is a web application designed to help students organize and access their lecture materials more efficiently. With Study Vault, students can upload various types of study resources like PDFs, videos, and photos, and easily search for specific terms or concepts within these materials. The app also provides summarization features, making it easier for students to review and prepare for exams.
Project Overview
Study Vault aims to be a centralized resource hub where students can upload, search, and review academic materials quickly and effectively. It combines document management with search and summarization capabilities, making studying a more streamlined experience.
Getting Started
Follow these steps to set up a local copy of the project for development, testing, and experimentation.
Prerequisites
To run Study Vault locally, ensure you have:
- Node.js (v12 or higher)
- npm or yarn for managing dependencies
- Python for backend processing (optional, if used)
- Basic knowledge of HTML, CSS, and JavaScript
Installation Example
-
Clone the Repository
git clone https://github.com/devanshalok/StudyVault.git -
Navigate to the Directory
cd study-vault -
Install Dependencies
npm install
Installing
To set up Study Vault on your local machine:
- Backend Setup (if applicable): Configure any backend services, such as document parsing or summarization APIs.
- Frontend Setup: Run the development server to access the app locally.
npm start
The app will be available at http://localhost:3000 for local testing.
Features
- Document Uploads: Upload PDF, video, and photo files as study resources.
- Search Functionality: Search for keywords or specific concepts within uploaded documents.
- Summarization Tool: Generate summaries of long documents for quicker review.
Built With
- React.js - For building the frontend interface
- Node.js - Backend processing and API handling
- Natural Language Processing tools - For document summarization and keyword extraction
Contributing
Contributions are welcome! Please read CONTRIBUTING.md for our code of conduct and submission guidelines.
Authors
- Devansh Alok - Initial work - devanshalok
- Joshua Sun - Initial work - joshuasun
- Ramsha Tasneem - Initial work - ramshatasneem
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
Acknowledgments
- Inspiration from student organization tools and study aids.
- Thanks to the open-source community for contributing to document management and NLP libraries.
- Gratitude to anyone who provided feedback and helped improve Study Vault’s functionality.
Analysis
View
Metric
- 6
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- ExpressIn code
- HTMLIn code
- JavaScriptIn code
- ReactIn code
- Tailwind CSSIn code
- FirebaseClaimed
- Next.jsClaimed
6 of 8 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
702 KB
Source files
21
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
devanshalok/StudyVault
30 files · 2.0 MB · @ 95864f1
Structure
Application logic
14 files · 47%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- JavaScript99%
- Markdown1%
- HTML0%
- CSS0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
study-vault/package.json
npm · 20- @google-cloud/speech
- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- axios
- express
- ffmpeg
- fluent-ffmpeg
- multer
- pdfjs-dist
- react
- react-dom
- react-icons
- react-scripts
- react-toastify
- speech-to-text
- web-vitals
- +3 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
Feature verification
Document uploads (images, videos, PDFs)Verified
Upload various types of study resources like PDFs, videos, and photos
Claimed on readmehigh confidencestudy-vault/src/UploadButton.js:8— File input with multiple attribute lets users select files of any typestudy-vault/src/App.js:16— handleUpload processes uploaded files, branching on image/ and video/ MIME typesstudy-vault/src/MainContent.js:29— renderFile displays images, PDFs (via window.open), and videos differently
Handwriting/image text extraction (OCR) via AIVerified
Upload photos as study resources with text recognition
Claimed on readmehigh confidencestudy-vault/src/imageUtils.js:12— extractTextFromImage calls the Hugging Face TrOCR handwritten-text model API and is invoked from App.js's handleUpload for image files
Video transcription for searchVerified
Upload videos as study resources and search within their content
Claimed on readmehigh confidencestudy-vault/src/server.js:20— Express /upload-video endpoint extracts audio with ffmpeg and transcribes it via Google Cloud Speech-to-Text, returning transcription and word timestampsstudy-vault/src/App.js:36— handleUpload posts video files to the /upload-video endpoint and stores the returned transcription/words as extractedData
PDF text extractionCode-supported
Search for specific terms or concepts within PDFs uploaded to the app
Claimed on readmelow confidencestudy-vault/src/pdfUtils.js:8— extractTextFromPDF uses pdfjs-dist to pull text from PDF pages, but this function is never imported or invoked by App.js's handleUpload, which only handles image/ and video/ MIME types
Search across uploaded materialsCode-supported
Search for keywords or specific concepts within uploaded documents
Claimed on readmemedium confidencestudy-vault/src/App.js:66— handleSearch filters extracted image text and video transcription words by query stringstudy-vault/src/pdfUtils.js:23— searchPDFs exists to search extracted PDF text, but it is not imported or called anywhere else in the codebase (only image and video search are wired into App.js), so PDF search is not connected end-to-end
AI-based document summarizationClaimed only
Summarization assistant using AI / Summarization Tool to generate summaries of long documents for quicker review
Claimed on Devposthigh confidenceFirebase backendClaimed only
Built with firebase
Claimed on Devposthigh confidenceHugging Face speech-to-text integrationClaimed only
Learned how to integrate Hugging Face speech-to-text API
Claimed on Devpostmedium confidenceNext.js backendClaimed only
next js for backend
Claimed on Devposthigh confidence
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.