The German version of the README is available below.
- Repository: GS2-2024 Repository
- Project Documentation (Overleaf): Project Documentation
- Presentation: Google Slides
- Similar Catalog: Hugging Face
Web Catalog for ML Models for EO Data
This project, developed as part of the Geosoftware II course (WiSe 2024/25), aims to create a web-based catalog for the user-friendly search and retrieval of machine learning models specifically designed for Earth Observation (EO) Datacubes.
- Model Search & Retrieval: Search and filter ML models for EO analysis using the STAC MLM extension.
- Seamless Integration: Easily integrate models into Python and R workflows through STAC clients (e.g., PySTAC, RSTAC).
- Metadata Management: Upload and download spatiotemporal metadata for efficient model access.
- Community-Driven: Users can upload their own models and contribute to the catalog.
- Node.js (Version 14 or higher)
- npm or yarn
- Docker and Docker Compose
- PostgreSQL (optional for local deployment without Docker)
git clone https://github.com/ReinerMx/GS2-2024.git
cd GS2-2024
- Navigate to the backend directory:
cd backend
- Install dependencies:
npm install
- Create a
.env
file and define environment variables:POSTGRES_USER=yourusername POSTGRES_PASSWORD=yourpassword POSTGRES_DB=huggingearth
- Initialize the database:
npm run migrate
- Start the backend:
npm start
- Navigate to the frontend directory:
cd ../frontend
- Install dependencies:
npm install
- Start the frontend:
npm start
- Ensure Docker and Docker Compose are installed.
- Run the Docker Compose file:
docker-compose up --build
TerraLink/
├── backend/ # Backend code and API implementations
├── frontend/ # Frontend code
├── docker-compose.yml # Docker configuration file
├── README.md # Project overview
├── .env.example # Example environment variables
└── docs/ # Documentation
- Log in or register through the user interface.
- Navigate to the upload page.
- Upload:
- The model (JSON metadata in STAC format).
- An optional description.
- Use the search bar and filter options to browse models.
- Click on a specific model for detailed information.
- Use the provided link to access the related GitHub repository for further use.
- Integrate models and metadata into workflows using PySTAC or RSTAC.
The platform uses GitHub Actions for CI/CD.
- Automated Testing: Tests are executed for every pull request.
- Docker Builds: Docker images are automatically built and published to Docker Hub.
Configuration:
.github/workflows/ci.yml
This project is released under the MIT License. See LICENSE for more details.
Developed by: Amelie Julia Luschnig, Jakub Zahwe, Lukas Ahlert, Maximilian Reiner, and Lara Sieksmeier
Instructors: Brian Pondi, Christian Knoth
- Repo: https://github.com/ReinerMx/GS2-2024
- Pflichtenheft (Overleaf): https://www.overleaf.com/project/67121d8286e37093f88de455
- Präsi: https://docs.google.com/presentation/d/1VwPwdpmAnKLgP32q3Nw64L7xUm2H4YQJQVxEfDnQM30/edit?usp=sharing
- Ähnlicher Catalog: https://huggingface.co/
- Repository: GS2-2024 Repository
- Pflichtenheft (Overleaf): Projekt-Dokumentation
- Ähnlicher Katalog: Hugging Face
Webkatalog für ML-Modelle für EO-Daten
Dieses Projekt, entwickelt im Rahmen des Geosoftware II Kurses (WiSe 2024/25), zielt darauf ab, einen webbasierten Katalog für die benutzerfreundliche Suche und den Abruf von Machine-Learning-Modellen zu erstellen, die speziell für Earth Observation (EO) Datacubes entwickelt wurden.
- Modellsuche & -abruf: Durchsuchen und Filtern von ML-Modellen für EO-Analysen mithilfe der STAC MLM-Erweiterung.
- Einfache Integration: Nahtlose Integration in Python- und R-Workflows über STAC-Clients (z. B. PySTAC, RSTAC).
- Metadaten-Management: Hochladen und Herunterladen von raum-zeitlichen Metadaten für effizienten Modellzugriff.
- Community-Driven: Benutzer können eigene Modelle hochladen und zum Katalog beitragen.
- Node.js (Version 14 oder höher)
- npm oder yarn
- Docker und Docker Compose
- PostgreSQL (optional bei lokalem Deployment ohne Docker)
git clone https://github.com/ReinerMx/GS2-2024.git
cd GS2-2024
- Wechseln Sie ins Backend-Verzeichnis:
cd backend
- Abhängigkeiten installieren:
npm install
.env
-Datei erstellen und Umgebungsvariablen definieren:POSTGRES_USER=yourusername POSTGRES_PASSWORD=yourpassword POSTGRES_DB=huggingearth
- Datenbank initialisieren:
npm run migrate
- Backend starten:
npm start
- Wechseln Sie ins Frontend-Verzeichnis:
cd ../frontend
- Abhängigkeiten installieren:
npm install
- Frontend starten:
npm start
- Stellen Sie sicher, dass Docker und Docker Compose installiert sind.
- Docker-Compose-Datei ausführen:
docker-compose up --build
HuggingEarth/
├── backend/ # Backend-Code und API-Implementierungen
├── frontend/ # Frontend-Code
├── docker-compose.yml # Docker-Konfigurationsdatei
├── README.md # Projektübersicht
├── .env.example # Beispiel für Umgebungsvariablen
└── docs/ # Dokumentation
- Melden Sie sich an oder registrieren Sie sich über die Benutzeroberfläche.
- Navigieren Sie zur Upload-Seite.
- Laden Sie:
- Das Modell (JSON-Metadaten im STAC-Format) hoch
- Eine optionale Beschreibung hoch.
- Verwenden Sie die Suchleiste und Filteroptionen, um Modelle zu durchsuchen.
- Klicken sie auf ein spezifisches Modell um mehr Details zu erfahren
- Gelangen Sie über den bereitgestellten Link zum zugehörige GitHub Repository, um somit das Modell nutzen zu können
- Nutzen Sie PySTAC oder RSTAC, um Modelle und Metadaten in Ihren Workflow zu integrieren.
Die Plattform nutzt GitHub Actions für CI/CD.
- Automatisierte Tests: Bei jedem Pull-Request werden Tests ausgeführt.
- Docker-Builds: Docker-Images werden automatisch erstellt und auf Docker Hub veröffentlicht.
Konfiguration:
.github/workflows/ci.yml
Dieses Projekt wird unter der MIT-Lizenz veröffentlicht. Siehe LICENSE für weitere Informationen.
Entwickelt von: Amelie Julia Luschnig, Jakub Zahwe, Lukas Ahlert, Maximilian Reiner und Lara Sieksmeier
Dozenten: Brian Pondi, Christian Knoth