Welcome to the Plexi Materials repository — the central storage and index for all study materials on the Plexi platform.
| File | Purpose |
|---|---|
manifest.json |
Master index: semester → subject → type → file list |
indexed_files.json |
Tracks files already processed into the RAG vector store |
docs/index.html |
Plexi Upload Portal — the GitHub OAuth web UI |
backend/ |
Node.js server powering the upload portal |
approved label to trigger processingBoth paths go through the same approval workflow. Once a maintainer adds the approved label, the file is published automatically.
Upload Portal ──┐
├─→ GitHub Issue (label: upload-material)
GitHub Issue ───┘ │
Maintainer adds "approved" label
│
add-material.yml fires
│
process_upload.py:
• Downloads file
• Uploads to semester Release
• Updates manifest.json
│
build_index.py:
• Rebuilds LlamaIndex vector store
• Commits updated index
cd backend
cp .env.example .env # fill in your credentials
npm install
npm run dev
See backend/README.md for full setup and deployment instructions.