Document Overview
Develop a political intrigue subplot within the Khagan’s palace. trono de 6 de cristal pdf google drive
| Component | Technology | Key Notes |
|-----------|------------|-----------|
| Front‑end | React (or Vue) + Material‑UI | Reusable SearchBar, ResultCard, PreviewModal components. |
| Backend | Node.js (Express) or Python (FastAPI) | REST endpoint: GET /api/pdf-search?q=; POST /api/admin/pdf for admin actions. |
| Data Store | PostgreSQL (or MongoDB) | Table/collection: pdf_files id, drive_file_id, title, tags, visibility, created_at, updated_at . |
| Search | ElasticSearch (or PostgreSQL full‑text) | Index on title and tags for fast autocomplete. |
| Google Drive Integration | Google Drive API (OAuth 2.0 Service Account) | - Use files.get for metadata & thumbnail.
- Use files.export for download link.
- Store only the fileId (no long‑lived access tokens). |
| Authentication / Authorization | JWT + Role‑based ACL (guest, member, premium, admin) | Middleware protects preview/download routes. |
| Logging & Analytics | ELK stack (Elasticsearch‑Logstash‑Kibana) or Google Cloud Logging | Capture preview_start, preview_end, download events. |
| Security | CSP, Referrer‑Policy, X‑Frame‑Options (allow embedding only from drive.google.com) | Ensure PDF preview cannot be embedded by third‑party sites. |
| Deployment | Docker containers + Kubernetes (or simple Docker‑Compose) | Separate containers for API, DB, Search, and static front‑end. | Download Request – Authorized user clicks “Download”