Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ›ฐ๏ธ N-13 โ€” Intelligence Analytics Frontend

Open-source-intelligence (OSINT) cockpit for mapping entities, relations, sources and actions as interactive network graphs and geospatial maps. [Live Demo]


Vue.js Quasar TypeScript Vite

Cytoscape.js Mapbox Pinia Playwright Sentry Docker Made in Germany PRs welcome


N-13 intelligence dashboard

๐Ÿ‘ค Author

Built by Andrey Bulezyuk โ€” AI Engineer & founder of N-13 Analytics.

LinkedIn GitHub


๐Ÿ‘ฅ Who it's for

N-13 is built for professionals who turn scattered open-source information into a clear, connected picture:

  • ๐Ÿ“ฐ Journalists & newsrooms โ€” map the people, companies and money trails behind a story.
  • ๐Ÿ•ต๏ธ Private & corporate investigators โ€” due diligence, asset tracing, link analysis.
  • ๐Ÿ‘ฎ Police & law-enforcement investigative units โ€” visualize networks during casework.
  • ๐Ÿ›ฐ๏ธ OSINT officers โ€” collect, connect and cross-reference public-source intelligence.
  • ๐Ÿง  Intelligence & threat analysts โ€” entity/relationship mapping, timelines, situational pictures.
  • ๐ŸŽ“ Researchers & academics โ€” study networks, disinformation campaigns and public records.

Example use cases

  • Build an entityโ€“relationship graph of an organization and the people around it.
  • Trace connections between individuals, companies and sources across many documents.
  • Attach sources to every claim so findings stay auditable and shareable.
  • Plot entities on a map to see where activity concentrates geographically.
  • Follow a network's evolution over time with the graph timeline.

Intended for lawful, ethical research and investigation only โ€” see the Disclaimer.

๐Ÿš€ Quick start

Get running in one or two lines.

With Docker (recommended):

docker compose up

Then open http://localhost:9000. That's it โ€” no config required.

Or with Node.js (requires Node ^20):

npm install && npm run dev

The app boots with sensible defaults and runs even with no configuration. Features that need external services (the Mapbox map, reCAPTCHA) simply degrade gracefully until you add keys โ€” see Configuration. By default it talks to a backend on http://localhost:8000 (Docker: your host's :8000).

๐Ÿ–ผ๏ธ Screenshots

Intelligence dashboard Entity detail dialog
Create-entity dialog Pricing

โœจ Features

  • ๐Ÿ•ธ๏ธ Interactive network graphs โ€” Cytoscape.js with fcose / cose-bilkent layouts, live edge-drawing, context menus and one-click JPG export.
  • ๐Ÿ—บ๏ธ Geospatial view โ€” Mapbox GL map linked to the entities in the graph.
  • ๐Ÿงฉ Entities, Relations, Sources, Actions โ€” a fully typed domain model backed by Pinia-ORM.
  • ๐Ÿ” Fast entity search and recently-created feeds for entities, relations and sources.
  • ๐ŸชŸ Sidebar / dialog workflows โ€” detail and create forms open as Quasar dialogs on demand.
  • ๐Ÿ” JWT auth with transparent token refresh via an Axios interceptor.
  • ๐Ÿ“ˆ Sentry error tracking, tracing and session replay in production.

๐Ÿงฑ Tech stack

Layer Tech
Framework Vue 3 (<script setup>, Composition API) + TypeScript
UI Quasar 2 (SSR-capable via @quasar/app-vite)
State Pinia + Pinia-ORM
Graphs Cytoscape.js (fcose, cose-bilkent, edgehandles, cxtmenu)
Maps Mapbox GL
Data / HTTP Axios โ†’ Django REST Framework
Tooling Vite, ESLint, Prettier, vue-tsc
Testing Playwright (e2e), Cypress
Monitoring Sentry

โš™๏ธ Configuration

Everything is optional. Copy .env.example to .env and set only what you need:

Variable Default Purpose
VITE_API_BASE_URL http://localhost:8000/api/v1 Backend REST API base URL. Set this to point at your own backend.
VITE_MAPBOX_TOKEN (empty โ†’ map disabled) Mapbox GL access token; enables the geospatial map panel.
VITE_RECAPTCHA_KEY (empty โ†’ captcha off) reCAPTCHA v3 site key for auth forms.
SENTRY_DSN built-in public DSN Sentry error-monitoring endpoint (production only).

Notes for precise control:

  • VITE_* values are read at build time. For a production image, pass them as build args (see docker-compose.prod.yml); for dev they are read from .env or the environment.
  • Docker โ†’ host backend: inside a container, use VITE_API_BASE_URL=http://host.docker.internal:8000/api/v1.
  • Sentry only initializes when NODE_ENV=production. The DSN is a public client key and is safe to ship; the source-map upload token (.env.sentry-build-plugin) is secret and git-ignored.

๐Ÿณ Docker

# Development (hot reload, http://localhost:9000)
docker compose up

# Production (optimized SPA, http://localhost:8088)
docker compose -f docker-compose.prod.yml up --build

โ˜๏ธ Deployment (Cloudflare Pages)

This builds to a static SPA, so it deploys to any static host. A GitHub Action (.github/workflows/deploy.yml) auto-deploys to Cloudflare Pages on every push to main.

To enable it, add these in GitHub โ†’ Settings โ†’ Secrets and variables โ†’ Actions:

Name Type Value
CLOUDFLARE_API_TOKEN secret A Cloudflare token with the Cloudflare Pages : Edit permission
CLOUDFLARE_ACCOUNT_ID secret Your Cloudflare account ID
VITE_MAPBOX_TOKEN secret (optional) Mapbox token so the map renders in the deployed build
VITE_API_BASE_URL variable (optional) Overrides the backend URL

Manual deploy from your machine:

npm run build && npx wrangler pages deploy dist/spa --project-name n13-frontend

๐Ÿงช Testing

npm run test              # Playwright e2e (auto-starts the dev server on :9000)
npm run playwright:open   # Playwright UI mode
npm run lint              # ESLint

Specs live in tests/ and mock the backend where possible, so they can run without a live API.

๐Ÿ—‚๏ธ Project structure & conventions

A full breakdown of the architecture, directory layout and coding conventions lives in CLAUDE.md. The short version:

src/
  boot/          Quasar boot files (axios, pinia, sentry, head, captcha)
  components/    Domain-grouped components (graph/, entity/, source/, account/, ...)
  pages/         Route-level views
  stores/
    models/        Pinia-ORM models
    repositories/  API access layer
  css/           app.scss + quasar.variables.scss
src-ssr/         SSR server + middlewares
tests/           Playwright e2e specs

โš ๏ธ Disclaimer

This software is provided for research and educational purposes only and is used entirely at your own risk and liability. You are solely responsible for ensuring your use complies with all applicable laws and regulations, including data-protection and privacy law. Neither N-13 Analytics UG nor the author accepts any responsibility or liability for any legal issues, penalties, damages or losses arising from the use or misuse of this software. It is provided "as is", without warranty of any kind.

๐Ÿ“„ License

ยฉ N-13 Analytics UG. All rights reserved. Add a LICENSE file if you intend to release this under an open-source license. See the Disclaimer above โ€” use at your own risk.

About

Community version of N13 Intelligence Cockpit frontend for mapping entities, relations, sources and actions as interactive network graphs and geospatial maps.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages