$ show Okabe-Rintarou-0/SJTU-Canvas-Helper
SJTU-Canvas-Helper is a desktop application built with Tauri (React frontend, Rust backend) that enhances the Shanghai Jiao Tong University Canvas learning management system. It provides file preview/download, assignment management, video handling (download, merging, live streaming, AI summarization), AI chat integration (with files, videos, and Canvas agent), SJTU Cloud/JBox integration, annual report generation, QR code login, and multi-account support. The architecture features a single-page React frontend with Redux for global state, communicating with a Rust backend via Tauri's invoke system for API interactions, file processing, and task management. Key external dependencies include Canvas API, SJTU Cloud API, video platform APIs, and LLM providers (e.g., DeepSeek) for AI features.
The LLM identified 4 files worth highlighting for reuse:
A generic task manager handling queuing, retry mechanisms, progress tracking, and concurrency limits for background operations (downloads, uploads, conversions). Isolated, reusable in any TypeScript project, and demonstrates robust asynchronous task management with error handling and diagnostics integration.
Diagnostic logging system that automatically redacts sensitive information (IDs, names, credentials) from logs. Provides structured logging with depth/size limits to prevent excessive log growth. Reusable in any Rust application requiring privacy-aware logging, demonstrating skill in securing diagnostic data.
Utilities for converting file formats (PDF, PPTX, DOCX) to PDF for preview. Handles conversion using browser-based libraries and provides a consistent interface for file preview. Isolated and extractable for use in other web applications needing document preview capabilities.
Store for managing AI chat sessions across contexts (file, video, Canvas agent). Handles message history, token budgeting, and prompt templating for LLM interactions. Reusable in any LLM-integrated application, demonstrating pattern for stateful AI conversations with context awareness.