How c-kala/openvidhya works
OpenVidya is a browser-based academic research assistant. A researcher refines a topic through chat, searches scholarly sources, and receives curated papers and a reading roadmap; they can then summarize or read papers, save and annotate them, and explore research activity on a global atlas. The graph includes the documented news, notes, and knowledge-graph capabilities as separate branches. Backend source excerpts are partial, so omitted route internals and uncertain wiring are not inferred.
Main entry points: main.py FastAPI routes · app.js Web app · gemini_service.py Concept extraction · auth.py Authentication
Components 22
Browser experience
- Web app
frontend/app.js - FastAPI routes
backend/main.py
Research discovery
- Source search
backend/search.py - Paper ranking
backend/ranker.py - Reading roadmap
backend/roadmap.py - PDF proxy
backend/main.py - Science news feed
backend/main.py
AI assistance
- AI endpoints
backend/main.py - Paper summaries
backend/main.py
Accounts and library
- Authentication
backend/auth.py - Library and notes
backend/main.py - Application database
backend/database.py
Knowledge and atlas
- Knowledge graph
backend/main.py - Concept extraction
backend/gemini_service.py - Research atlas
frontend/app.js
Other components
- Researcher
- Scholarly APIs
- Groq LLM
- Paper publishers
- Gemini embeddings
- Publication statistics
- Science RSS feeds
Connections 26
- Researcher → Web app: uses
- Web app → FastAPI routes: calls REST
- FastAPI routes → Source search: queries sources
- Source search → Scholarly APIs: fetches papers
- FastAPI routes → Paper ranking: ranks papers
- FastAPI routes → Reading roadmap: generates order
- FastAPI routes → AI endpoints: dispatches AI
- AI endpoints → Groq LLM: requests inference
- FastAPI routes → Paper summaries: requests summaries
- Paper summaries → Groq LLM: requests inference
- Web app → PDF proxy: requests PDF
- PDF proxy → Paper publishers: fetches document
- Web app → Authentication: authenticates
- FastAPI routes → Authentication: verifies identity
- FastAPI routes → Library and notes: serves library
- Authentication → Application database: reads and writes
- Library and notes → Application database: reads and writes
- Web app → Knowledge graph: requests graph
- Knowledge graph → Application database: reads graph data
- Knowledge graph → Concept extraction: extracts concepts
- Concept extraction → Groq LLM: extracts concepts
- Concept extraction → Gemini embeddings: creates embeddings
- Web app → Research atlas: explores atlas
- Research atlas → Publication statistics: displays statistics
- Web app → Science news feed: views feed
- Science news feed → Science RSS feeds: fetches headlines