InCite is a powerful web application aimed at enhancing the way we consume YouTube videos. At its core lies "ReCite," a sophisticated system that not only fetches and analyzes YouTube transcripts but also summarizes them into arguments, key points, and quotations. Subsequently, it fetches academic citations from MongoDB to provide academic backing for the key points made in the video.
InCite serves as an educational bridge between YouTube content and academic sources. Users input a YouTube URL, and the system performs the following:
- Fetches the transcript of the YouTube video.
- Utilizes the GPT API to summarize the transcript into arguments, key points, and quotations.
- Calls upon a MongoDB database to provide academic citations that substantiate the key points.
This tool is ideal for those who wish to critically evaluate YouTube content and explore related academic material.
- Designed using HTML5 and styled with CSS.
- Features a simple form for YouTube URL submission and a display area for processed information.
preprocessTranscript
: Cleans up fetched YouTube transcripts.fetchCitations
: Gathers relevant academic citations asynchronously.incrementProgress
: Manages a progress bar for better user experience.
- Initializes an Express server on port 3000.
- Configures OpenAI's GPT API for text summarization and analysis.
fetchDOAJArticles
: Asynchronously fetches academic articles from the Directory of Open Access Journals (DOAJ).- Pagination and error-handling mechanisms are in place for robustness.
- Custom-built logging utility based on the Winston library.
- Categorized logs (
info
,error
,warn
) are maintained for debugging and monitoring.
- Manages MongoDB connections, including connection establishment and termination.
- Features methods like
insertMany
for bulk document insertion.
POST /transcript
: Accepts a YouTube URL and returns a processed and summarized transcript along with academic citations.
- Clone the repository.
- Run
npm install
to install the required dependencies. - Populate the
.env
file with necessary API keys and MongoDB URI. - Run
npm start
to start the application.
Contributions are welcome. Please fork the repository, create your branch, make changes, and submit a pull request.
This project is licensed under the MIT License.