Bihar Police Notebook is a static website — the entire application is theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/arverma/Bihar-Police-Notebook/llms.txt
Use this file to discover all available pages before exploring further.
editor/ directory. There is no Node build step, no server-side rendering, and no Python backend for the application itself. Deployment is handled by a single GitHub Actions workflow that uploads the editor/ folder as a Pages artifact on every qualifying push.
How the publish pipeline works
Any push to themain (or master) branch that touches a file under editor/** or modifies .github/workflows/pages.yml triggers the workflow automatically. You can also run it manually from the Actions tab using the workflow_dispatch trigger.
- Checkout — checks out the repository at the pushed commit.
- Setup Pages — runs
actions/configure-pagesto prepare the GitHub Pages environment. - Upload artifact — uploads the
editor/folder as a Pages artifact usingactions/upload-pages-artifact. - Deploy — publishes the artifact to GitHub Pages via
actions/deploy-pages.
The workflow uses
concurrency: group: pages with cancel-in-progress: true, so a newer push automatically cancels any in-progress deployment for the same branch.Local preview
Because the editor is static files, a plain HTTP file server is all you need. The standard approach uses Python’s built-in server — no npm install required for just running the app.Change into the editor directory
The
editor/ folder is the web root. Serving from the repository root would expose parent directories — always serve from inside editor/.Open the app in your browser
Navigate to http://127.0.0.1:8080/. The editor loads immediately — IndexedDB, transliteration, and print/PDF all work at this URL without any further setup.
Google Drive OAuth setup
Drive integration requires the origin of the page that hosts the app to be listed as an Authorised JavaScript origin in your Google Cloud Console project. Without this, the GIS token client will refuse to open the consent popup.- Production
- Local preview
Add the following origin in APIs & Services → Credentials → OAuth 2.0 Client IDs for your client ID:This is already configured for the live deployment. You only need to change it if you fork the project and host it on a different domain.
Development dependencies (testing only)
The app itself has zero runtime dependencies. Thepackage.json includes two devDependencies for the test suite only:
| Package | Purpose |
|---|---|
vitest | Unit tests — run with npm test (vitest run editor/) |
@playwright/test | End-to-end tests — run with npm run test:e2e |