Pular para o conteúdo

Overview

Este conteúdo não está disponível em sua língua ainda.

NAHPU is an offline-first software system for recording, validating, exporting, and backing up collection data at the point of collection.

Use this section when contributing to the main NAHPU app. The code docs are split by topic so you can read only the part that matches your change.

  • Setup - Install the tools needed to build NAHPU locally.
  • Architecture - Understand how Flutter, Drift, Rust, and the NAHPU API crates fit together.
  • NAHPU API - Learn where app code ends and shared Rust API crates begin.
  • NAHPU design system - Learn the Material 3 tokens, adaptive layout, hierarchy, and UI patterns used in NAHPU.
  • Code conventions - Follow Dart, Flutter, Riverpod, and Rust conventions used in the app.
  • Persistence data - Understand storage ownership, schema changes, migrations, and Darwin Core mappings.
  • Data import and export - Follow every import, transfer, backup, tabular export, package, GIS, and document flow.
  • Templates and presets - Understand record-export mappings, document templates, print layouts, and PDF rendering behavior.
  • Troubleshooting - Fix common setup and build errors.
  • AI-assisted development - Use AI tools responsibly while keeping human accountability for every contribution.
  1. Pick or open an issue in the NAHPU repository.

  2. Fork and clone the repository.

    Janela do terminal
    git clone https://github.com/nahpu/nahpu.git
    cd nahpu
  3. Create a focused branch.

    Janela do terminal
    git checkout -b your-branch-name
  4. Make the change using the architecture and convention pages in this section.

  5. Run the checks that match your change.

    Janela do terminal
    flutter analyze
    flutter test
    python scripts.py frb --check
  6. Open a pull request against the dev branch with a clear description, tests run, and screenshots for UI changes.