How viren1023/nexus-knowledge-portal works
Nexus is a project knowledge and discovery portal: users manage projects and teams, add documents or Git repositories, search their indexed content, ask persistent AI questions, and manage tasks. Its central knowledge flow queues document/repository ingestion, extracts and embeds content, then stores it for search and chat retrieval. The graph combines README-described capabilities with sampled API wiring and source-index references; several worker and AI internals were not sampled, so those documented links are cited to the README.
Main entry points: main.py FastAPI application · database.py PostgreSQL and pgvector · chat.py Chat API · worker.py Ingestion worker
Components 28
Web experience
- Web app routes
frontend/src/App.jsx - Project workspace
frontend/src/pages/ProjectDetails.jsx - Search and chat UI
frontend/src/pages/SearchPage.jsx - API client
frontend/src/services/api.js
API and collaboration
- FastAPI application
backend/main.py - Authentication API
backend/app/api/auth.py - Project and membership API
backend/app/api/projects.py - Task API
backend/app/api/tasks.py - Document and repository API
backend/app/api/documents.py - Chat API
backend/app/api/chat.py - Search API
backend/app/api/search.py
Knowledge ingestion
- Ingestion queue
backend/app/services/ingestion/queue_manager.py - Ingestion worker
backend/worker.py - Document processing
backend/app/services/ingestion/document_processor.py - Repository analysis
backend/app/services/ingestion/git_analyzer.py - Code parsers
backend/app/services/ingestion/parsers - Embedding service
backend/app/services/ingestion/embedding_service.py
Search and AI
- Hybrid search
backend/app/services/search/hybrid_search.py - Intent classifier
backend/app/services/chat/intent_classifier.py - Context retrieval
backend/app/services/chat/context_retriever.py - Answer generation
backend/app/services/chat/response_generator.py - AI task creation
backend/app/services/chat/task_tool.py
Persistence and services
- PostgreSQL and pgvector
backend/app/database.py - Knowledge and project records
backend/app/models/document.py - Redis
- Ollama models
Other components
- Project user
- Documents and repositories
Connections 38
- Project user → Web app routes: uses
frontend/src/App.jsx - Web app routes → Project workspace: routes to
frontend/src/App.jsx - Web app routes → Search and chat UI: routes to
frontend/src/App.jsx - Project workspace → API client: requests data
frontend/src/pages/ProjectDetails.jsx - Search and chat UI → API client: requests data
frontend/src/services/api.js - API client → FastAPI application: calls API
frontend/src/services/api.js - FastAPI application → Authentication API: registers routes
backend/main.py - FastAPI application → Project and membership API: registers routes
backend/main.py - FastAPI application → Task API: registers routes
backend/main.py - FastAPI application → Document and repository API: registers routes
backend/main.py - FastAPI application → Chat API: registers routes
backend/main.py - FastAPI application → Search API: registers routes
backend/main.py - Project and membership API → PostgreSQL and pgvector: reads and writes
backend/app/api/projects.py - Task API → PostgreSQL and pgvector: reads and writes
backend/app/api/tasks.py - Document and repository API → Ingestion queue: enqueues jobs
backend/app/api/documents.py - Ingestion queue → Redis: stores jobs
- Redis → Ingestion worker: dispatches jobs
README.md - Ingestion worker → Document processing: processes documents
README.md - Ingestion worker → Repository analysis: analyzes repositories
backend/worker.py - Repository analysis → Code parsers: parses source
README.md - Document processing → Embedding service: creates embeddings
README.md - Repository analysis → Embedding service: embeds code assets
README.md - Embedding service → Ollama models: requests vectors
backend/app/services/ingestion/embedding_service.py - Embedding service → PostgreSQL and pgvector: persists vectors
README.md - Documents and repositories → Document and repository API: uploads
README.md - Search API → Hybrid search: runs search
backend/app/api/search.py - Hybrid search → PostgreSQL and pgvector: queries indexed content
backend/app/services/search/hybrid_search.py - Chat API → Intent classifier: classifies request
backend/app/api/chat.py - Chat API → Context retrieval: retrieves context
backend/app/api/chat.py - Context retrieval → Hybrid search: searches knowledge
backend/app/services/chat/context_retriever.py - Context retrieval → PostgreSQL and pgvector: reads project records
backend/app/services/chat/context_retriever.py - Chat API → Answer generation: generates answer
backend/app/api/chat.py - Answer generation → Ollama models: requests completion
README.md - Chat API → AI task creation: handles task intent
backend/app/api/chat.py - AI task creation → Task API: creates tasks
- Chat API → PostgreSQL and pgvector: stores sessions
backend/app/api/chat.py - Document and repository API → PostgreSQL and pgvector: stores source records
backend/app/api/documents.py - Ingestion worker → PostgreSQL and pgvector: updates indexed records
backend/worker.py