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.
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
-
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
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!
To run the dev server for your app, use:
npx nx serve zeoTo create a production bundle:
npx nx build zeoTo see all available targets to run for a project, run:
npx nx show project zeoThese targets are either inferred automatically or defined in the project.json or package.json files.
More about running tasks in the docs »
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 demoTo generate a new library, use:
npx nx g @nx/angular:lib mylibYou 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 »
To connect to Nx Cloud, run the following command:
npx nx connectConnecting to Nx Cloud ensures a fast and scalable CI pipeline. It includes features such as:
- Remote caching
- Task distribution across multiple machines
- Automated e2e test splitting
- Task flakiness detection and rerunning
Use the following command to configure a CI workflow for your workspace:
npx nx g ci-workflowNx 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.
Learn more:
- Learn more about this workspace setup
- Learn about Nx on CI
- Releasing Packages with Nx release
- What are Nx plugins?
And join the Nx community:
Contributions, issues and feature requests are welcome! Feel free to check the issues page.
If you have any questions, suggestions, or feedback regarding this project, feel free to reach out:
-
This project is open-source and available under the MIT License.
-
Data Attribution: Data provided by Movebank and individual researchers.