Skip to content

The data submission application for recording electrofishing surveys. Built for DWR.

License

Notifications You must be signed in to change notification settings

agrc/electrofishing

Repository files navigation

Electrofishing

Application for recording electrofishing surveys. Built for DWR.

Staging: https://electrofishing.dev.utah.gov

Production: https://electrofishing.ugrc.utah.gov

Database

Installation

  • Create SDE database
  • Save connection as Electrofishing_LOCAL as WILDADMIN.sde
  • right click > import xml yada yada
  • Reference xml file above
  • Register all feature classes and tables as versioned without the option to move edits direct to base

Deployment

  1. Publish maps/MapService as Electrofishing/MapService
    1. This map and "Reference" below are pointed at the staging database and will be mapped to production when published to the prod server.
    2. max number of records returned: 5000
    3. feature access: create, query and update
    4. dynamic workspace referencing the sde database ID: ElectrofishingQuery
  2. Publish maps/Reference as Electrofishing/Reference
  3. Update scripts/Scripts/settings/__init__.py.
  4. Create scripts/Scripts/settings/secrets.py.
  5. Publish all tools in scripts/Toolbox.tbx as Electrofishing/Toolbox Requires ArcGIS Server Advanced
    1. GetSegmentFromCoords
      • points: scripts\ToolData\TestData.gdb\StartEnd_fork
    2. GetSegmentFromStartDistDirt
      • point: scripts\ToolData\TestData.gdb\Start1
      • distance: 1
      • direction: up
    3. NewCollectionEvent
      • Test Input: copy paste contents of scripts/Scripts/TestData/NewCollectionEventData.json (minified)
      • Synchronous
      • Copy scripts/Scripts/settings & dijkstras.py to <ArcGISServerDirectory>directories\arcgissystem\arcgisinput\Electrofishing\Toolbox.GPServer\extracted\v101\scripts.
  6. Releases to Firebase are deployed via GitHub Actions.

Cutting a new release

  1. Merge release PR
  2. Republish Map and/or GP services, if needed (see steps above).

Development

npm start and open http://localhost:5173/

Storybook

npm run storybook (requires npm start to already be running)