Spring Boot + Angular 4 Boilerplate
Quick start for Spring Boot + Angular 4 projects with JWT auth
Includes:
Front-end:
- angular-cli boilerplate files
- JWT authentication service
Back-end:
- gradle build file
- boilerplate files
- JWT authentication
Setup
You can use setup.sh
script to change name and version of the app and database connection properties.
Just run sh setup.sh
and follow the instructions.
Build and Run
First of all you need to configure the database. Properties are located in ./backend/src/main/resources/application.properties
file.
By default application is using PostgreSQL database(name:
test
, user:test
, password:test
).
Also you need to configure JWT secret in file listed above.
- Run
npm install --prefix frontend
to install front-end dependencies. - Run
npm run build:prod --prefix frontend
to build angular application. - Run
./init_db
to create database, dbuser and dump default schema. - Run
gradle build -p backend
to build a spring boot application. - Run
gradle bootRun -p backend
orjava -jar backend/build/libs/app-name-[version].jar
to start spring boot application on embedded server.
By default server will be running on port
8080
.
Development
npm start --prefix frontend
to start front-end server for development.npm run start:prod --prefix frontend
to start front-end server with service-workers.gradle bootRun -p backend
to start spring boot application on embedded server.
By default server will be running on port
4200
Testing
npm test --prefix frontend
- to run front-end unit tests.npm run e2e --prefix frontend
- to run end to end tests.gradle test -p backend
- to run server tests.
Technologies used
- spring-boot 1.5.3
- spring-mvc 4.3.6
- spring-data-jpa 1.11.0
- spring-security 4.2.1
- jjwt 0.7.0
- lombok 1.16.12
- junit 4.11
- gradle 3.3
- postgresql 9.5
- h2 1.4
- angular-cli 1.1.1
- angular 4.2.2
- rxjs 5
- jasmine 2.5
- karma 1.0
- protractor 4
License
spring-boot-angular4-boilerplate is released under the MIT License.