{"id":37214331,"url":"https://github.com/green-ecolution/backend","last_synced_at":"2026-01-15T00:48:03.592Z","repository":{"id":247086631,"uuid":"824972716","full_name":"green-ecolution/backend","owner":"green-ecolution","description":"Green Ecolution - Backend","archived":false,"fork":false,"pushed_at":"2025-10-20T03:03:07.000Z","size":23627,"stargazers_count":7,"open_issues_count":29,"forks_count":2,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-10-20T07:11:41.108Z","etag":null,"topics":["backend","go","golang","green-ecolution","smart-city"],"latest_commit_sha":null,"homepage":"https://green-ecolution.de","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/green-ecolution.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-06T12:45:37.000Z","updated_at":"2025-10-09T10:26:01.000Z","dependencies_parsed_at":"2024-09-05T20:39:19.672Z","dependency_job_id":"a1b1653a-edd6-49e7-a7ff-5e353ffed1b7","html_url":"https://github.com/green-ecolution/backend","commit_stats":null,"previous_names":["smartcityflensburg/green-ecolution-backend","green-ecolution/green-ecolution-backend","green-ecolution/backend"],"tags_count":98,"template":false,"template_full_name":null,"purl":"pkg:github/green-ecolution/backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/green-ecolution%2Fbackend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/green-ecolution%2Fbackend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/green-ecolution%2Fbackend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/green-ecolution%2Fbackend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/green-ecolution","download_url":"https://codeload.github.com/green-ecolution/backend/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/green-ecolution%2Fbackend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28440404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T00:34:46.850Z","status":"ssl_error","status_checked_at":"2026-01-15T00:34:46.551Z","response_time":107,"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":["backend","go","golang","green-ecolution","smart-city"],"created_at":"2026-01-15T00:48:02.820Z","updated_at":"2026-01-15T00:48:03.587Z","avatar_url":"https://github.com/green-ecolution.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp\u003e\n  \u003ca href=\"https://github.com/green-ecolution/backend/releases\"\u003e\n    \u003cimg alt=\"GitHub Release\" src=\"https://img.shields.io/github/v/release/green-ecolution/backend\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pkg.go.dev/github.com/green-ecolution/backend\"\u003e\n    \u003cimg src=\"https://pkg.go.dev/badge/github.com/green-ecolution/backend.svg\" alt=\"Go Reference\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"\"\u003e\u003cimg alt=\"Code coverage\" src=\"https://raw.githubusercontent.com/green-ecolution/backend/badges/.badges/develop/coverage.svg\"/\u003e\u003c/a\u003e\n  \u003ca href=\"\"\u003e\u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/green-ecolution/backend.svg\"/\u003e\u003c/a\u003e\n  \u003ca href=\"\"\u003e\u003cimg alt=\"Maintained yes\" src=\"https://img.shields.io/badge/Maintained%3F-yes-green.svg\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# Green Ecolution Backend 🌿\n\n\u003e [!IMPORTANT]  \n\u003e **This repository has been archived.**  \n\u003e Active development of the Green Ecolution backend now takes place in the **[green-ecolution/green-ecolution](https://github.com/green-ecolution/green-ecolution)** monorepo.  \n\u003e No further updates, issues, or pull requests will be processed here.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/4ea25141-135a-493c-b9f6-e1cbc7a7aa41\"/\u003e\n\u003c/p\u003e\n\nSmart irrigation is essential to saving water, reducing staff workload, and cutting costs. This project provides the backend for **Green Ecolution** — a digital system to manage urban greenery efficiently.\n\n👉 For the frontend implementation, visit the [Green Ecolution Frontend](https://github.com/green-ecolution/frontend).\n\nThe backend acts as the interface between the website and the database, managing data about:\n\n- 🌳 Trees\n- 🌿 Tree clusters\n- 📡 Sensors\n- 🗺️ Watering plans\n- 🚛 Vehicles\n- 👤 Users\n\nIn the current setup, sensors are connected to a microcontroller with an LoRaWAN modules. Sensor data is transmitted via LoRaWAN to an MQTT gateway, then forwarded to the server for processing.\n\nDeveloped in collaboration with **TBZ Flensburg**, this software is designed to be adaptable for other cities. It originated as a research project within the **Applied Computer Science Master's program** at the **University of Applied Sciences Flensburg**.\n\nFor further information, visit:\n\n- 🌐 [Project website](https://green-ecolution.de/)\n- 🖥️ [Live demo](https://demo.green-ecolution.de)\n- 🎓 [University of Applied Sciences Flensburg](https://hs-flensburg.de/en)\n\n## Quick Start Guide 🚀\n\nTo quickly run the application locally:\n\n1. Clone this repository\n2. Copy the `env.example` to `.env`\n3. Build and launch the application containers\n\n```bash\nmake run/docker\n```\n\nmake will download a `pbf` file of the open street map geographical tileset from Germany Schleswig-Holstein and place it in a directory where `vahalla` can access it via docker. If you don't want to download this part or want to load a different location into valhalla, you can download it yourself and place the file in `.docker/infra/valhalla/custom_files/\u003cfile-osm.pbf\u003e`. After that you can start the docker services with the backend using this command:\n\n```bash\ndocker compose -f compose.yaml -f compose.app.yaml up -d --build\n```\n\nBy default, all services such as auth, routing and s3 are enabled and running with docker, except mqtt. This service is currently disabled by default and must be configured manually.\n\n👉 Once the service is up and running, the backend is available at: [http://localhost:3000](http://localhost:3000)\n\nThe other services can be accessed via the following URLs:\n\n| Service       | URL                              |\n| ------------- | -------------------------------- |\n| Minio         | `http://minio.localhost:3000`    |\n| S3            | `http://s3.localhost:3000`       |\n| Keycloak      | `http://auth.localhost:3000`     |\n| Valhalla      | `http://valhalla.localhost:3000` |\n| Vroom         | `http://vroom.localhost:3000`    |\n| pgadmin       | `http://pgadmin.localhost:3000`  |\n| reverse-proxy | `http://traefik.localhost:3000`  |\n| backend       | `http://localhost:3000`          |\n\n## Technologies Used ⚙️\n\n- [Go (Golang)](https://go.dev/) as the main language\n- [env](https://github.com/caarlos0/env) for environment configuration\n- [godotenv](https://github.com/joho/godotenv) for `.env` file handling\n- [Fiber](https://docs.gofiber.io/) as the web framework\n- [Testify](https://github.com/stretchr/testify) for unit testing\n\n## Local Development Setup 💻\n\nFor a detailed step-by-step guide on setting up your local development environment, refer to the [Local Development Wiki](https://github.com/green-ecolution/backend/wiki/Local-Development) 📖.\n\n### Prerequisites\n\n- [Golang](https://go.dev/)\n- [Air](https://github.com/air-verse/air) for live reload\n- [Mockery](https://github.com/vektra/mockery) `v2.52.2` for generating mocks\n- [Make](https://www.gnu.org/software/make/)\n- [Docker](https://github.com/docker)\n- [Docker Compose](https://github.com/docker/compose)\n\n### Initial Setup ⚙️\n\nInstall required tools:\n\n```bash\nmake setup\n```\n\nGenerate code:\n\n```bash\nmake generate\n```\n\nStart the infrastructure services using Docker Compose. This setup includes:\n\n- a local PostgreSQL database,\n- routing services such as Valhalla, ORS and VROOM for route and vehicle scheduling calculations\n\n```bash\nmake infra/up\n```\n\n### Running the Project ▶️\n\nWith live reload:\n\n```bash\nmake run/live\n```\n\nWithout live reload:\n\n```bash\nmake run\n```\n\n👉 Once the service is up and running, you can access it at: [http://localhost:3000](http://localhost:3000)\n\n### How to Contribute 🤝\n\nWe welcome contributions! Please follow these guidelines:\n\n1. Fork this repository.\n1. Create a topic branch off develop.\n1. Commit your changes.\n1. Push your branch to your fork.\n1. Open a Pull Request.\n\nThis project follows:\n\n- [Git-Flow Workflow](https://danielkummer.github.io/git-flow-cheatsheet/) for branching and releases.\n- [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for commit messages.\n\nThank you for helping us improve Green Ecolution! 🌿\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreen-ecolution%2Fbackend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgreen-ecolution%2Fbackend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreen-ecolution%2Fbackend/lists"}