Looking for inputs & best practice for new project :
Client side : JavaScript (probably AngularJS supporting tools) Server-side & Rest API's : Java, Scala, Hadoop, Spring MVC 3 and other modules of Spring too.
Github as repo
It will be Multi-module maven project. Normally maven web project as one of the maven module + plus other maven sub-module, we put web resources stuff i.e. .js (view+controller+model files), .css files, images and develop REST endpoints (controller, action resources). It will be huge project.
Which approach will be good one? 1. To put these JS(AngularJS) stuff into here under web + Rest API using Spring MVC, deploy it or 2. Client side has its own structure i.e. modular structure in sync with the server side, maintain his own tree at Github and build, deploy cycle separate as client side needs only REST APIs
The REST APIs can be used by internal teams or other components of the project or may be by customers in future.
Build, deployment cycle separate for client side, separate for server-side or together if we put client side code into web module of maven web project. What are the best practices I can follow on the build life cycle and deployment model. Deployment will be on Amazon + CloudBees/CloudFoundry.