{"id":22765003,"url":"https://github.com/ssherwood/spring-boot-ng","last_synced_at":"2025-08-27T01:40:59.247Z","repository":{"id":27783769,"uuid":"101695527","full_name":"ssherwood/spring-boot-ng","owner":"ssherwood","description":"Starter project using Spring Boot and Angular","archived":false,"fork":false,"pushed_at":"2023-11-30T14:39:33.000Z","size":3677,"stargazers_count":4,"open_issues_count":33,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T11:21:22.209Z","etag":null,"topics":["angular","angular-cli","maven","spring-boot","yarnpkg"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ssherwood.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-08-28T23:00:35.000Z","updated_at":"2024-06-07T04:23:34.000Z","dependencies_parsed_at":"2024-12-11T12:21:26.987Z","dependency_job_id":null,"html_url":"https://github.com/ssherwood/spring-boot-ng","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssherwood%2Fspring-boot-ng","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssherwood%2Fspring-boot-ng/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssherwood%2Fspring-boot-ng/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssherwood%2Fspring-boot-ng/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ssherwood","download_url":"https://codeload.github.com/ssherwood/spring-boot-ng/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248976607,"owners_count":21192429,"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":["angular","angular-cli","maven","spring-boot","yarnpkg"],"created_at":"2024-12-11T12:11:17.219Z","updated_at":"2025-04-14T23:25:18.637Z","avatar_url":"https://github.com/ssherwood.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spring Boot with Angular Starter\n\n[![License](https://img.shields.io/github/license/mashape/apistatus.svg)](https://opensource.org/licenses/MIT)\n[![Build Status](https://circleci.com/gh/ssherwood/spring-boot-ng/tree/master.svg?style=shield)](https://circleci.com/gh/ssherwood/spring-boot-ng)\n[![Known Vulnerabilities (Server)](https://snyk.io/test/github/ssherwood/spring-boot-ng/badge.svg?targetFile=/server/pom.xml)](https://snyk.io/test/github/ssherwood/spring-boot-ng?targetFile=/server/pom.xml)\n[![Known Vulnerabilities (Client)](https://snyk.io/test/github/ssherwood/spring-boot-ng/badge.svg?targetFile=/client/package.json)](https://snyk.io/org/ssherwood/project/defd3bbe-6c49-4a5b-ae9d-d748fcbf07a2)\n\nSample project using [Spring Boot](https://projects.spring.io/spring-boot/) to\nserve an [Angular](https://angular.io/) frontend.\n\n## Overview\n\nThis project is a simple starter using Spring Boot with Angular.  The\nproject relies on a [Maven](https://maven.apache.org/) multi-module layout to\npackage both the client and server assets independently (this can also be done\nwith Gradle if desired).\n\nThe Angular client code was initially generated using the [Angular CLI](https://cli.angular.io/)\nand can be treated as a standard CLI project when developing locally (meaning\nusing the CLI).  Running the client via `ng serve` is the expected way of\nworking when doing frontend development.\n\nWhen running the frontend this way, the [proxy.conf.json](client/proxy.conf.json)\nconfiguration is used to route calls to the backend through to the Spring Boot\napplication running on port [8080](http://localhost:8080).  This avoids any\nissues with [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing)\nand helps reduce compiler \"lag\" that can interrupt workflow.\n\nTo make this seamless, the client pom uses the [frontend maven plugin](https://github.com/eirslett/frontend-maven-plugin)\nto attach the Angular build to the overall Maven lifecycle.  The result is that\nMaven will package the resulting `dist` folder into the client `jar` as static\ncontent.  In addition to build, `lint` and `e2e` scripts are attached to the\nMaven `compile` and `integration-test` phases respectively.\n\nWhen packaged, the resulting Spring Boot executable ['fat' JAR](https://docs.spring.io/spring-boot/docs/current/reference/html/howto-build.html#howto-create-an-executable-jar-with-maven)\nwill contain the Angular bundles and act as if they had been copied directly\ninto the `src/main/resources/static` folder.  The client jar may also be used\nto transfer and unpack the static bundles to edge cache/CDN (as desired).\n\n## Getting Started\n\n- TODO\n\n### IDE Setup\n\n\n## Common Problems\n\n### When I run the Spring Boot application in the IDE and visit http://localhost:8080, there is no web content.\n\nWhen running the application via Spring Boot within the IDE this issue can\noccur when there is no `jar` in the client's `target` folder.  The IDE needs\nthis file in order to add it to the application classpath.  This problem is\nfrequently the result of a manual `mvn clean`.\n\nTo fix this issue, perform a `mvn package` on the client and restart the\napplication.  NOTE: if you run the frontend via node (usually recommended) and use http://localhost:4200\nthis problem will not occur.\n\n### IntelliJ doesn't detect the Angular submodule\n\nWhen you first Import the project if you pick the root pom.xml to import it sometimes does not autodetect\nthe Angular CLI and doesn't auto configure the server runner.  To work around this, delete the .idea folder\nreimport the project just using the root folder. \n\n## TODO\n\n- Figure out if you can build dev and prod JARs of the client (use Maven scopes?)\n- Add UI routing\n- Add support for Bootstrap\n- Add a sample frontend -\u003e backend call\n- Add Spring Data example\n- Add Spring Security using OAuth2\n- \n\n\n`ng new -g --routing --style=scss ng-app`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssherwood%2Fspring-boot-ng","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fssherwood%2Fspring-boot-ng","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssherwood%2Fspring-boot-ng/lists"}