How fatkhurroyyan/linktrack-app works
LinkSense AI collects and curates links from Google Drive, GitHub, and general websites: a user submits one or more URLs, the backend extracts resource metadata, AI assigns categories and summaries, and the result is stored for search, management, analytics, and filtered document export. The graph reflects documented capabilities and sampled calls; orchestration and analytics internals are represented only at their supported source paths.
Main entry points: App.tsx Dashboard · orchestrator.py Ingestion orchestrator · session.py Database session · api.ts API client
Components 26
Web experience
- Dashboard
frontend/src/App.tsx - Link input
frontend/src/components/IngestionBar.tsx - Batch input
frontend/src/components/BatchIngestionModal.tsx - API client
frontend/src/services/api.ts - Search and manage
frontend/src/components/LinkTable.tsx - Category controls
frontend/src/components/CategoryManageModal.tsx - Dashboard statistics
frontend/src/components/StatsOverview.tsx - Export controls
frontend/src/components/ExportDropdown.tsx
Ingestion and curation
- Link API
backend/app/api/routes_links.py - Ingestion orchestrator
backend/app/services/orchestrator.py - Drive extractor
backend/app/extractors/gdrive_extractor.py - GitHub extractor
backend/app/extractors/github_extractor.py - Web scraper
backend/app/extractors/web_scraper.py - AI categorization
backend/app/services/ai_service.py
Resource library
- Link database
backend/app/models/link_item.py - Database session
backend/app/database/session.py - Category management
backend/app/api/routes_categories.py
Analytics and export
- Analytics API
backend/app/api/routes_analytics.py - Export API
backend/app/api/routes_export.py - Document generator
backend/app/services/export_service.py
Other components
- User
- Gemini API
- Google Drive API
- GitHub API
- Public websites
- Excel, CSV, PDF
Connections 33
- User → Dashboard: uses
- Dashboard → Link input: presents
- Dashboard → Batch input: presents
- Link input → Dashboard: submits URL
- Batch input → Dashboard: submits URLs
- Dashboard → API client: requests
- API client → Link API: calls
- Link API → Ingestion orchestrator: processes links
- Ingestion orchestrator → Drive extractor: extracts Drive
- Ingestion orchestrator → GitHub extractor: extracts GitHub
- Ingestion orchestrator → Web scraper: scrapes websites
- Drive extractor → Google Drive API: reads metadata
- GitHub extractor → GitHub API: reads repository
- Web scraper → Public websites: fetches pages
- Ingestion orchestrator → AI categorization: categorizes content
- AI categorization → Gemini API: requests structured analysis
- Ingestion orchestrator → Database session: persists results
- Database session → Link database: reads and writes
- Dashboard → Search and manage: shows resources
- Search and manage → Dashboard: changes filters
- Category controls → Dashboard: manages categories
- Dashboard → Category management: requests categories
- Category management → Database session: reads and updates
- Dashboard → Analytics API: requests statistics
- Analytics API → Database session: queries metrics
- Dashboard → Dashboard statistics: displays metrics
- Dashboard → Export controls: presents export
- Export controls → Dashboard: selects format
- Dashboard → API client: requests export
- API client → Export API: calls
- Export API → Database session: loads filtered links
- Export API → Document generator: generates document
- Document generator → Excel, CSV, PDF: returns file