This application was initially generated from JHipster which I am planning to update and rewrite the entire front end to follow some of the best practices which I have learnt and will be learning in the near future. The plan is to use this application as a practice application for me to upgrade to angular 2 and possibly get some feedback from others on the way.
- AngularJS application stack suitable for large scale application and it is scalable
- Modular and flat package structure as much as possible
- Re write the front end using webpack, ES6
- Achieve lazy loading
- Finally upgrade to Angular 2
I might backtrack and take different approaches during this process to understand better and identify suitable path to reach the above outcomes.
Watch this space for branches and wiki's created as part of this exploratory process.
Backend
- Java 8
- Spring / Spring boot
- Maven
Frontend
- Angular 1.4.*
- gulp
No changes planned for backend
Frontend
- Angular 2
- ES6
- Webpack
- and any tools which gets picked up along the way
Inorder to build his project, we must install and configure the following dependencies:
-
Java 8
-
Maven 3.x
-
Node.js: To run a development web server and build the project.
-
Gulp: We use Gulp as our build system. Install gulp command line tool with npm install -g gulp
After installing Node, we should be able to install development tools based on the dependencies in package.json.
npm install
Run the following commands in two separate terminals to create a blissful development experience where your browser auto-refreshes when files change on your hard drive.
mvn
gulp
To optimize the client for production, run:
mvn -Pprod clean package
This will concatenate and minify CSS and JavaScript files. It will also modify index.html
so it references
these new files.
To ensure everything worked, run:
java -jar target/*.war --spring.profiles.active=prod
Then navigate to http://localhost:8080 in your browser.
Unit tests are run by Karma and written with Jasmine. They're located in src/test/javascript
and can be run with:
gulp test