docs/structure.md
Project Structure
Packages
| Path | Role |
|---|---|
apps/web | SvelteKit visualization dashboard |
apps/landing | Marketing/SEO landing page |
tools/netflow-db | Python ingestion pipeline + DB schema |
vendor/* | Optional analyzer submodules and local build outputs |
scripts/ | One-off migration scripts |
docs/ | Project documentation |
plans/ | Generated implementation plans |
data/ | SQLite databases (gitignored) |
Stack
- Frontend: SvelteKit 2, TypeScript, TailwindCSS 4, Chart.js
- Database: SQLite via
better-sqlite3 - Pipeline: Python 3,
nfdump - Runtime: Bun 1.2+
Dev Commands
bash
| 1 | bun run dev # start web app |
| 2 | bun run build:web # production build |
| 3 | bun run lint # ESLint |
| 4 | bun run typecheck # TypeScript check |
| 5 | bun run format # Prettier |
| 6 | bun run test:web # Vitest (frontend unit tests) |
| 7 | bun run test:db # pytest (pipeline tests) |
| 8 | bun run test:e2e # Playwright |
Vendor compile helpers:
bash
| 1 | ./vendor/scripts/compile-burstify.sh |
| 2 | ./vendor/scripts/compile-maad.sh |
| 3 | ./vendor/scripts/compile-all.sh |
Python sanity check after editing pipeline code:
bash
| 1 | python -m compileall tools/netflow-db |