8000 Admin UI for External Data Display · Issue #250 · jra3/mulm · GitHub
[go: up one dir, main page]

Skip to content

Admin UI for External Data Display #250

Open

Description

@jra3

Description

Add UI components to display external data (reference links, images, occurrence maps) on species pages in the admin interface.

Background

We now have external data from Wikipedia, GBIF, and FishBase stored in the database:

  • External reference URLs (species_external_references table)
  • Images with metadata (species_images table with source/attribution/license)
  • GBIF occurrence map URLs (stored in references)

Currently this data is not displayed anywhere in the UI.

Proposed Features

1. External Reference Links Section

Display external links grouped by source:

  • Wikipedia articles
  • GBIF species pages
  • FishBase species pages
  • GBIF occurrence maps

Location: Species detail page (admin view)

2. Image Gallery with Attribution

  • Show all images with source badges
  • Display attribution and license info
  • Link to original source
  • Allow admins to reorder or remove images
  • Highlight which images are from external sources vs. user uploads

Location: Species detail page, image management section

3. GBIF Occurrence Map

  • Embed or link to GBIF occurrence map
  • Show geographic distribution
  • Display specimen count

Location: Species detail page (new "Distribution" section)

Implementation Notes

Database Schema (Already Exists)

-- External references
CREATE TABLE species_external_references (
  id INTEGER PRIMARY KEY,
  group_id INTEGER NOT NULL,
  source TEXT NOT NULL,  -- 'wikipedia', 'gbif', 'fishbase'
  url TEXT NOT NULL,
  FOREIGN KEY (group_id) REFERENCES species_groups(id)
);

-- Images with metadata
CREATE TABLE species_images (
  id INTEGER PRIMARY KEY,
  group_id INTEGER NOT NULL,
  image_url TEXT NOT NULL,
  source TEXT,           -- 'wikipedia', 'gbif', 'fishbase', 'user'
  attribution TEXT,
  license TEXT,
  original_url TEXT,     -- External URL before R2 download
  FOREIGN KEY (group_id) REFERENCES species_groups(id)
);

Routes to Add/Modify

  • GET /admin/species/:id - Add external data to species detail view
  • Modify src/db/species.ts to include getters for external references

UI Components

  • External links card (Tailwind + icons)
  • Image gallery with source badges
  • Occurrence map embed/iframe

Acceptance Criteria

  • External reference links displayed on species detail page
  • Links grouped by source (Wikipedia, GBIF, FishBase)
  • Images show source attribution badges
  • GBIF occurrence maps are visible (embedded or linked)
  • UI is responsive and matches existing design system
  • Works for species with and without external data

Priority

Medium - Enhances admin experience but not critical for functionality.

Related to #240 (External Data Sources Integration)

Activity

  1. added
    enhancementNew feature or request
    ui/uxUser interface and user experience improvements
    admin-toolsAdmin interface and management tools
    priority:mediumMedium priority - important but not urgent
    on Dec 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    admin-toolsAdmin interface and management toolsenhancementNew feature or requestpriority:mediumMedium priority - important but not urgentui/uxUser interface and user experience improvements

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0