{"id":15043409,"url":"https://github.com/eth-library/devbox-spring-demo","last_synced_at":"2026-03-16T16:01:55.986Z","repository":{"id":256941751,"uuid":"848706322","full_name":"eth-library/devbox-spring-demo","owner":"eth-library","description":"A demonstration of a simple Spring Boot project using Devbox for an isolated development environment.","archived":false,"fork":false,"pushed_at":"2025-03-24T13:48:20.000Z","size":65,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-14T21:13:18.026Z","etag":null,"topics":["devbox","isolated-environments","java","maven","shell","spring","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eth-library.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-08-28T08:56:43.000Z","updated_at":"2025-03-24T13:48:17.000Z","dependencies_parsed_at":"2024-09-16T23:50:56.669Z","dependency_job_id":"437484c3-6965-4b12-a124-1f8c974980dc","html_url":"https://github.com/eth-library/devbox-spring-demo","commit_stats":null,"previous_names":["eth-library/devbox-spring-demo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eth-library%2Fdevbox-spring-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eth-library%2Fdevbox-spring-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eth-library%2Fdevbox-spring-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eth-library%2Fdevbox-spring-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eth-library","download_url":"https://codeload.github.com/eth-library/devbox-spring-demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248961237,"owners_count":21189993,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["devbox","isolated-environments","java","maven","shell","spring","spring-boot"],"created_at":"2024-09-24T20:48:58.820Z","updated_at":"2026-03-16T16:01:55.977Z","avatar_url":"https://github.com/eth-library.png","language":"Java","readme":"# Spring Boot Devbox Isolated Environment Demo\n\n## Project Overview\n\nThis project is a demonstration of a simple Spring Boot application using Devbox to create an isolated development environment. The goal is to ensure that all dependencies and configurations are managed within the project, promoting consistency across different development setups.\n\n## Technology Stack\n\n- **Spring Boot Version**: `4.0.3`\n- **Java Version**: `24`\n\n## Dependencies\n\nThe project includes the following dependencies:\n\n- **Spring Boot Starter Web**: For serving the web application, including RESTful services.\n- **Spring Boot Starter Test**: For unit testing with Spring Boot.\n\n## Building and Running the Project\n\n### Prerequisites\n\nEnsure that you have Devbox installed and configured. Devbox manages the dependencies and environment configurations.\n\n### Steps to Run\n\n#### Option 1: Locally\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/eth-library/devbox-spring-demo.git\n\n2. **Navigate to the Project Directory**\n   ```bash\n   cd devbox-spring-demo\n   \n3. **Switch to Devbox shell**\n   ```bash\n   devbox shell\n   \n4. **Start the webserver**\n   ```bash\n   mvn spring-boot:run\n   \n5. **Send a request to the endpoint**\n   ```bash\n   curl \"http://localhost:8080/greeting?name=Devbox%20Tester\"\n\n#### Option 2: Using GitHub Codespaces\n\n1. Fork this repository\n\n2. From the **Code** dropdown, select **Create codespace on main**\n\n3. Once the codespace has loaded, run `devbox run start` in the terminal to start the webserver.\n\n    ```bash\n    devbox run start\n    ```\n\n4. When prompted, click **Open in Browser**.\n\n\u003e [!TIP]\n\u003e If the popup is not visible, you can navigate to the **Forwarded Ports** tab, and open the **Forwarded Address** for port 8080.\n\n5. **Success!** You'll see the landing page and can now curl the greeting endpoint!\n\n## Custom Maven Settings\n\nTo maintain an isolated environment, a custom `maven.config` file is provided in the `.mvn` directory. This configuration ensures that all Maven dependencies are stored locally within the project rather than in a global repository. This approach helps to keep the development environment fully isolated, avoiding any interference from global dependencies.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feth-library%2Fdevbox-spring-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feth-library%2Fdevbox-spring-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feth-library%2Fdevbox-spring-demo/lists"}