This is a Spring MVC project using Angular templates for the frontend, created with the use of the Spring MVC with Angular Maven Archetype. It will ease the development of new Spring MVC projects, setting it up for CI through the use of three free services: Github, Github Workflow and Bintray.
Before beginning with the new project there are a few things which should be edited:
Note that the Maven site is using the Docs Maven Skin, which will have a few configuration requirements of its own.
The project by default comes with a useful series of features:
Documentation is always generated for the latest release, kept in the 'master' branch:
Documentation is also generated from the latest snapshot, taken from the 'develop' branch:
The documentation site is actually a Maven site, and its sources are included in the project. If required it can be generated by using the following Maven command:
mvn verify site -P h2,development -Dspring.profiles.active=test,h2
The verify phase is required, otherwise some of the reports won't be generated.
The application is coded in Java, using Maven to manage the project.
Maven profiles are included for setting up the database.
Spring profiles are also included for the databases. Matching the same name.
Profile | Database |
---|---|
h2 | H2 in-memory database |
mysql | MySQL database |
postgres | PostgreSQL database |
Profile | Server |
---|---|
development | Development settings |
production | Production settings |
The project can be installed by creating the war file and deploying it into a server.
To run the project locally use the following Maven command:
mvn spring-boot:run -P h2,development -Dspring.profiles.active=h2
It will be accessible at http://localhost:8080/.
The project requires a database and a server for being able to run the integration tests.
Just like running the project, an embedded server with an in-memory database can be used:
mvn verify -P h2,development -Dspring.profiles.active=test,h2
When creating the WAR file the database connection credentials should be read from the environment:
mvn package -P production,mysql
Check the documentation for more information.
Any kind of help with the project will be well received, and there are two main ways to give such help:
Issues are managed at the GitHub project issues tracker, where any Github user may report bugs or ask for new features.
If you wish to fork or modify the code, visit the GitHub project page, where the latest versions are always kept. Check the 'master' branch for the latest release, and the 'develop' for the current, and stable, development version.
The project has been released under the MIT License.