Skip to content

Repository files navigation

MoveRDM Ecological Telemetry Ecosystem ⚗️

A comprehensive suite of enterprise-grade scientific web applications, micro-frontends and metadata pipelines designed for ecological research, animal migration telemetry and Movebank-compatible data management.

🏛️ Monorepo Architecture

The workspace is structured as a scalable monorepo separating specialized scientific applications from shared libraries:

apps/
├── bio-stream/          # Spatial rendering engine for migration data
├── data-curation/       # Interactive tracking data utility
├── eco-spec/            # Telemetry specification wizard
├── metadata-harvester/  # Metadata ingestion pipeline & REST gateway
├── movebank-explorer/   # Frontend repository prototype
├── sensor-streams/      # Multi-dimensional sensor dashboard
├── spatial-temporal/    # Migration playback & geographical visualization
├── zeo/                 # Core utility application
└── zeo-e2e/             # End-to-end testing suite
libs/
├── config/              # Shared configuration management
└── data-access/         # Shared domain models, services and utils

🚀 Applications Portfolio

  • eco-spec ⚗️ Professional specification wizard for configuring hierarchical Movebank telemetry parameters and generating structured JSON schemas, featuring real-time data volume calculations processed in a background Web Worker thread
    | Angular, Signals, Web Workers → 🌐 Live Demo

  • metadata-harvester ☄︎ Enterprise-grade metadata ingestion pipeline & REST gateway for ecological research data management
    | Java, Spring Boot, Angular, PostgreSQL, Docker → 🌐 Live Demo

  • movebank-explorer-web ☄︎ Responsive frontend prototype for research data repositories, built for the MoveRDM ecosystem
    | Angular, Groq AI, Workers → 🌐 Live Demo

  • spatial-temporal ☄︎ High-performance scientific web application for interactive playback and visualization of animal migration telemetry over geographical map layers, incorporating timeline controls and speed scaling
    | Angular, Leaflet, Workers → 🌐 Live Demo

  • sensor-streams ☄︎ The scientific dashboard designed to visualize multi-dimensional sensor streams, combining GPS tracking with accelerometer and environmental data through synchronized time-series charts
    | Angular, ChartJS, Workers → 🌐 Live Demo

  • bio-stream ☄︎ Spatial rendering engine for migratory animal tracking data
    | Angular, Leaflet, Workers → 🌐 Live Demo

  • data-curation ☄︎ Interactive web utility for researchers working with animal tracking data
    | Angular & Leaflet → 🌐 Live Demo

📦 Core Shared Libraries (libs/data-access)

The shared domain logic is centralized under libs/data-access:

  • models/: Strongly typed domain contracts for telemetry data packets, tracking deployments and metadata schemas.

  • services/: Shared API communication layers, backend connectors and state management utilities.

  • utils/: High-performance helpers for spatial calculations, time-series parsing and background worker messaging.


Learn more about this workspace setup and its capabilities or run npx nx graph to visually explore what was created. Now, let's get you up to speed!

Run tasks

To run the dev server for your app, use:

npx nx serve zeo

To create a production bundle:

npx nx build zeo

To see all available targets to run for a project, run:

npx nx show project zeo

These targets are either inferred automatically or defined in the project.json or package.json files.

More about running tasks in the docs »

Add new projects

While you could add new projects to your workspace manually, you might want to leverage Nx plugins and their code generation feature.

Use the plugin's generator to create new projects.

To generate a new application, use:

npx nx g @nx/angular:app demo

To generate a new library, use:

npx nx g @nx/angular:lib mylib

You can use npx nx list to get a list of installed plugins. Then, run npx nx list <plugin-name> to learn about more specific capabilities of a particular plugin. Alternatively, install Nx Console to browse plugins and generators in your IDE.

Learn more about Nx plugins » | Browse the plugin registry »

Set up CI!

Step 1

To connect to Nx Cloud, run the following command:

npx nx connect

Connecting to Nx Cloud ensures a fast and scalable CI pipeline. It includes features such as:

Step 2

Use the following command to configure a CI workflow for your workspace:

npx nx g ci-workflow

Learn more about Nx on CI

Install Nx Console

Nx Console is an editor extension that enriches your developer experience. It lets you run tasks, generate code and improves code autocompletion in your IDE. It is available for VSCode and IntelliJ.

Install Nx Console »

Useful links

Learn more:

And join the Nx community:


🤝 Contributing

Contributions, issues and feature requests are welcome! Feel free to check the issues page.

📬 Contact & Support

If you have any questions, suggestions, or feedback regarding this project, feel free to reach out:

📄 License

License: MIT

  • This project is open-source and available under the MIT License.

  • Data Attribution: Data provided by Movebank and individual researchers.

About

Enterprise-grade ecosystem of spatial analytics, telemetry curation and data pipelines for migratory animal research, built with Angular and NX Monorepo

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages