{"id":31900783,"url":"https://github.com/earthal-labs/zenstac","last_synced_at":"2026-04-13T20:32:21.970Z","repository":{"id":304434832,"uuid":"1018782447","full_name":"earthal-labs/zenstac","owner":"earthal-labs","description":"A modern, cross-platform STAC server, featuring a lightweight web interface for managing geospatial data.","archived":false,"fork":false,"pushed_at":"2025-07-23T20:34:24.000Z","size":2060,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-21T14:30:29.935Z","etag":null,"topics":["geospatial","gis","rust","solidjs","stac"],"latest_commit_sha":null,"homepage":"https://www.earthallabs.com/projects/zenstac/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/earthal-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-13T03:14:57.000Z","updated_at":"2025-07-28T18:11:42.000Z","dependencies_parsed_at":"2025-07-23T21:19:06.736Z","dependency_job_id":null,"html_url":"https://github.com/earthal-labs/zenstac","commit_stats":null,"previous_names":["earthal-labs/zenstac"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/earthal-labs/zenstac","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthal-labs%2Fzenstac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthal-labs%2Fzenstac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthal-labs%2Fzenstac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthal-labs%2Fzenstac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/earthal-labs","download_url":"https://codeload.github.com/earthal-labs/zenstac/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthal-labs%2Fzenstac/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31770719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T20:17:16.280Z","status":"ssl_error","status_checked_at":"2026-04-13T20:17:08.216Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["geospatial","gis","rust","solidjs","stac"],"created_at":"2025-10-13T12:27:36.772Z","updated_at":"2026-04-13T20:32:21.954Z","avatar_url":"https://github.com/earthal-labs.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"src-tauri\\icons\\128x128.png\"\u003e\n\u003c/p\u003e\n\n# ZenSTAC - Simple Geospatial Data Management\n\nA modern, cross-platform application that transforms how organizations manage their geospatial data. Built with simplicity and performance in mind, ZenSTAC provides a beautiful, intuitive interface for cataloging, searching, and sharing spatial assets without the complexity of traditional enterprise solutions.\n\n## Why ZenSTAC?\n\nManaging geospatial data has always been a complex challenge. Traditional solutions are either heavy Java-based systems that require expensive infrastructure and specialized IT knowledge, or they force you to use every geospatial tool in the ecosystem just to get started. ZenSTAC eliminates these barriers with a simple, accessible solution that works across different platforms.\n\n### Out-of-the-Box Compliance\nFull compliance with OGC STAC and OGC API Features standards right out of the box. Your data automatically works with existing STAC-compliant tools and services, eliminating the need for custom development or complex integration work.\n\n### Cross-Platform Compatibility\nRuns natively on Windows and Linux systems, with macOS support coming soon. The lightweight, single-executable design means ZenSTAC can be installed anywhere - from field laptops to server rooms - while maintaining consistent performance.\n\n### Seamless Integration\nBuilt-in RESTful API and sharing capabilities integrate with your existing geospatial workflows. Works seamlessly with STAC plugins for QGIS and ArcGIS Pro, allowing you to access your collections directly within your preferred GIS software.\n\n## Quick Start\n\n### Prerequisites\n- **Node.js 18+** and **pnpm**\n- **Rust toolchain** (latest stable)\n- **Tauri CLI**: `cargo install tauri-cli`\n\n### Installation\n\n1. **Clone and install**:\n   ```bash\n   git clone https://github.com/your-org/zenstac.git\n   cd zenstac\n   pnpm install\n   ```\n\n2. **Run in development**:\n   ```bash\n   pnpm tauri dev\n   ```\n\nThe application will start automatically. The STAC API will be available at `http://localhost:3000/v1`.\n\n## Features\n\n- **STAC 1.0.0 Compliant API** - Full implementation of the STAC specification\n- **Modern Web Interface** - Built with SolidJS and Shoelace UI components\n- **File Upload Support** - Upload and serve imagery/thumbnails for STAC items\n- **SQLite Database** - Lightweight, embedded database with automatic schema management\n- **Advanced Search** - Powerful search and filtering capabilities\n- **Analytics Dashboard** - Track usage and activity metrics\n- **Asset Management** - Complete file upload and serving system\n- **OGC API Features** - Full OGC API Features compliance\n\n## Building for Distribution\n\n### Automated Setup (Recommended)\n\n**Linux/macOS:**\n```bash\nchmod +x build-setup.sh\n./build-setup.sh\n```\n\n**Windows:**\n```cmd\nbuild-setup.bat\n```\n\n### Manual Build\n\n```bash\n# Build for current platform\npnpm build:desktop\n\n# Build for specific platform\npnpm build:windows\npnpm build:linux\n\n# Build for both platforms\npnpm build:all\n```\n\n### Automated Releases\n\nZenSTAC uses GitHub Actions for automated builds and releases. The workflow is designed to only trigger on version changes, not on every commit to main.\n\n#### Creating a New Release\n\n1. **Bump the version** using the version script:\n   ```bash\n   # Linux/macOS\n   ./scripts/version.sh [major|minor|patch]\n   \n   # Windows\n   scripts\\version.bat [major|minor|patch]\n   ```\n\n2. **Push the changes**:\n   ```bash\n   git push origin main\n   git push origin zenstac-v1.0.1  # Replace with your new version\n   ```\n\n3. **GitHub Actions will automatically**:\n   - Build the application for Windows and Linux\n   - Create a GitHub release with installers\n   - Tag the release with the version number\n\n#### Version Bump Types\n\n- **patch** (default): Bug fixes and minor updates (1.0.0 → 1.0.1)\n- **minor**: New features, backward compatible (1.0.0 → 1.1.0)\n- **major**: Breaking changes (1.0.0 → 2.0.0)\n\n#### Manual Builds\n\nFor testing or manual builds, you can trigger the workflow manually from the GitHub Actions tab in your repository.\n\n## API Documentation\n\n### Core Endpoints\n- `GET /v1/` - Landing page\n- `GET /v1/collections` - List all collections\n- `GET /v1/collections/{id}` - Get collection details\n- `GET /v1/collections/{id}/items` - List items in collection\n- `GET /v1/search` - Search items across collections\n- `POST /v1/search` - Search items (POST method)\n\n### File Management\n- `POST /v1/upload/{collection_id}/{item_id}/{asset_key}` - Upload asset file\n- `GET /v1/assets/{collection_id}/{item_id}/{asset_key}` - Serve asset file\n\n## Data Storage\n\n- **Database**: SQLite stored in platform-specific app data directories\n- **Assets**: File assets stored in platform-specific directories\n- **Automatic Setup**: Sample data created on first run\n\n## Usage Guide\n\n1. **Launch the application** - Sample data is automatically created on first run\n2. **Explore the interface** - Browse the sample cities collection to understand the features\n3. **Create collections** - Start building your STAC catalog with the intuitive interface\n4. **Add items and assets** - Upload files and organize your geospatial data\n5. **Search and discover** - Use the powerful search capabilities to find what you need\n\n## Contributing\n\nWhile we may not be accepting external code contributions at this time, we welcome:\n\n- **Feature requests** - Share ideas for new functionality\n- **Bug reports** - Help us identify and fix issues  \n- **Documentation improvements** - Suggest better explanations\n- **General feedback** - Let us know what you think\n\nSee our [Contributing Guide](CONTRIBUTING.md) for more details.\n\n## What We're Working On\n\nOur current development priorities include:\n\n- **Core STAC API compliance**\n- **Performance optimizations**\n- **User interface improvements**\n- **Documentation updates**\n- **Testing coverage**\n- **Offline basemap support**\n- **Additional file import support**\n- **Cloud support**\n\n## License\n\nThis project is licensed under the PolyForm Noncommercial License for individuals and non-commercial use - see the [LICENSE](LICENSE.md) file for details.\nFor commercial use, please see the [COMMERCIAL LICENSE](COMMERCIAL_LICENSE.md)\n\n## Support\n\n- **Issues**: [GitHub Issues](https://github.com/earthal-labs/zenstac/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/earthal-labs/zenstac/discussions)\n\n---\n\n**ZenSTAC** - Making geospatial data management simple and beautiful.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fearthal-labs%2Fzenstac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fearthal-labs%2Fzenstac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fearthal-labs%2Fzenstac/lists"}