Skip to content

chore(dataviewer): add gitignore, env examples, devcontainer, and developer experience scaffolding #124

Description

Work Stream WS-12: Scaffolding & Developer Experience

Attribute Value
FR ID FR-WS-12
Priority P2–P3
Tier 1 — Independent Parallel
Depends On None
File Zone New files at src/dataviewer/ level, root package.json
Effort Medium
Tracking Issue #115

Description

Add developer experience scaffolding for the dataviewer application. Create .gitignore excluding sensitive and generated files. Create .env.example files documenting all required environment variables for both backend and frontend. Add cross-platform start scripts. Add devcontainer configuration. Add rollup-plugin-visualizer for bundle analysis. Add workspace reference in root package.json.

Issues addressed

  1. A-21 (HIGH): No .gitignore in src/dataviewer/ — risk of committing .env files with secrets, __pycache__ directories, and node_modules
  2. A-22 (MEDIUM): No .env.example files — new contributors have no documentation of required environment variables
  3. B-12 (MEDIUM): Platform-specific start.sh script — no cross-platform alternative for Windows contributors
  4. B-19 (LOW): Root package.json has no workspace reference to src/dataviewer/frontend/
  5. B-20 (LOW): No devcontainer configuration for consistent development environments
  6. G-07 (LOW): No bundle analysis tooling for monitoring frontend build size
  7. G-08 (LOW): Missing development convenience scripts (combined start, watch modes)

Findings Addressed

Finding Severity Summary
A-21 HIGH No .gitignore — risk of committing secrets and generated files
A-22 MEDIUM No .env.example — undocumented environment variables
B-12 MEDIUM Platform-specific start script
B-19 LOW Root package.json missing workspace reference
B-20 LOW No devcontainer configuration
G-07 LOW No bundle analysis tooling
G-08 LOW Missing development convenience scripts

Acceptance Criteria

  • .gitignore at src/dataviewer/ level excludes .env*, __pycache__, node_modules, dist/, .venv
  • .env.example files for both backend and frontend list all environment variables with descriptions and safe defaults
  • Cross-platform start method available (npm scripts, Makefile, or VS Code tasks)
  • Devcontainer configuration enables new contributor onboarding via VS Code or Codespaces
  • rollup-plugin-visualizer available as dev dependency for build analysis
  • Root package.json includes workspace reference to src/dataviewer/frontend/
  • No real secrets appear in any committed file

Implementation Notes

  • .env.example should document: STORAGE_TYPE, AZURE_STORAGE_CONNECTION_STRING, CORS_ORIGINS, MODEL_PATH, API_BASE_URL, etc.
  • Cross-platform option: npm scripts in root or dataviewer-level package.json using concurrently for parallel backend + frontend
  • Devcontainer: use mcr.microsoft.com/devcontainers/python with Node.js feature, or a composite devcontainer
  • rollup-plugin-visualizer generates an HTML treemap of the production bundle — add as npm run analyze script

Related Issues


Migrated from Azure-Samples/azure-nvidia-robotics-reference-architecture#393

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area/srcSource code in src directorychoreMaintenance tasks and housekeepingpriority-3Medium: Standard prioritysize-mMedium: 4-8 hours

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions