{"id":20441932,"url":"https://github.com/austinjhunt/polydoc","last_synced_at":"2026-04-16T16:02:51.558Z","repository":{"id":111163873,"uuid":"458955818","full_name":"austinjhunt/polydoc","owner":"austinjhunt","description":"Web application for viewing and managing multiple documents simultaneously on the web","archived":false,"fork":false,"pushed_at":"2022-04-18T00:47:25.000Z","size":5722,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-15T20:31:50.176Z","etag":null,"topics":["docs","grading","multiview","simultaneous"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/austinjhunt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-13T23:12:14.000Z","updated_at":"2022-04-08T02:34:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"9cd8d0cf-19fc-482c-8f3a-298480830c46","html_url":"https://github.com/austinjhunt/polydoc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austinjhunt%2Fpolydoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austinjhunt%2Fpolydoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austinjhunt%2Fpolydoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austinjhunt%2Fpolydoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/austinjhunt","download_url":"https://codeload.github.com/austinjhunt/polydoc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241989845,"owners_count":20053803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docs","grading","multiview","simultaneous"],"created_at":"2024-11-15T09:36:11.657Z","updated_at":"2026-04-16T16:02:51.553Z","avatar_url":"https://github.com/austinjhunt.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# polydoc\n\nThe following paths have been added to the URLs (both likely temporary) -\n\n/hello - Displays Hello World text\n/display_document - Will download a document off of google drive (but right now, it's hard coded to a file ID on Josh's google drive)\n\n## Development\n\n1. [Install Python 3.8](https://www.python.org/downloads/release/python-380/) if you don't already have it installed.\n2. Clone this repo to a directory of your liking.\n\n```\ncd dev\ngit clone https://github.com/austinjhunt/polydoc.git\n\n# polydoc\n\npolydoc is a compact Django app for uploading, importing, viewing, annotating, grading and exporting documents (PDFs/images). It provides user auth, a dashboard, Google Drive import/authorization, page-level notes, grading and multi-view document browsing.\n\nKey features\n- Document containers (group documents together), create/update/delete, clear and export (summary \u0026 detail)\n- Upload/import documents (Google Drive integration)\n- Document pages viewer with page-level notes and in-place editing\n- Document grading and notes saving\n- Multiview to browse multiple documents/pages side-by-side\n- User auth (login/register/logout), dashboard, privacy policy, and theme toggle\n\nImportant routes (high-level)\n- /               -\u003e Home\n- /login, /register, /logout\n- /dash           -\u003e Dashboard\n- /drive          -\u003e Drive UI and /drive/authenticate for Drive callback\n- /documentcontainer/*  -\u003e create, import-from-drive, update, delete, clear, export\n- /document/*     -\u003e create, delete, pages, save-notes, grade, export, clear\n- /multiview/\u003ccontainer_id\u003e\n- /toggle-theme/   -\u003e AJAX POST to toggle user theme\n- /page-notes/\u003cpk\u003e/ -\u003e edit page notes (POST)\n\nWhere things live\n- App templates: `app/templates/` (index.html, dashboard.html, document_viewer.html, multiview2.html, etc.)\n- Static assets: `app/static/` and project `staticfiles/`\n- Drive credentials: `drive/credentials.json`\n\nQuick start (local)\n1. Create and activate a Python virtualenv (3.8+ recommended).\n2. pip install -r requirements.txt\n3. python manage.py migrate\n4. python manage.py runserver\n5. Open http://localhost:8000\n\nNotes\n- The app uses pdf2image (Poppler) for rendering PDFs — install Poppler on hosts (or include it in the build for production).\n- Google Drive integration requires valid credentials and the Drive token store (see `drive/credentials.json` and `media/drive/tokens/`).\n- Run migrations before importing or starting features that reference models.\n\nLicense / Contributing\n- See the project root for contribution notes and dependencies.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faustinjhunt%2Fpolydoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faustinjhunt%2Fpolydoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faustinjhunt%2Fpolydoc/lists"}