Starting new Web project

We had a project kickoff meeting this morning to discuss tools to be used. This is a consumer-facing single-page (SPA) Web application that will also have a back-office part to be used by the business owners. During this meeting our engineers suggested a list of software. This list will grow, but I thought you might be interested to see it as it is now.

1. Web designer uses Balsamiq Mockups for prototyping and Twitter’s Bootstrap framework for styled components. We’ll use responsive design principles, so the app will look good on the mobile devices too.

2. Build tool: Gradle

3. Continuous Integration: Team City (JetBrains). We’ll configure automatic builds, unit tests, code coverage Findbug.

4. Version control system: Git. The hosting company: Bitbucket. We’ll also use Bitbucket’s Wiki for doc, and Issue tracking feature for bugs.

5. Java Spring 4 framework. The version 4 is still a release candidate, but our engineers are convinced that it’s safe. IMO it’s a little too risky given the fact that the application should go live in 3 months, but we can always fallback to the earlier release. In particular, we’ll be using the following Spring modules: Core, MVC, Data (maybe), Boot, and Security.

6. Consumer-facing front end will be developed in HTML5 using AngularJS and Bootstrap frameworks.

7. The Back-office UI: HTML5 ExtJS framework.

8. Data persistence: MySQL 5.6

9. ORM: either none or MyBatis

10. Code Generators: Apache CXF for WSDL schema, our home grown Clear Data Builder for back office Ext JS-Java CRUD generation

11. Full text search: Apache Solr

12. Web Servers: Nginx server plus servlet container Apache Tomcat 7

13. Deployment – one self-executable Jar with embedded servlet container (Apache Tomcat)

14. Exploring monitoring of servers with Newrelic and Takipi.

15. IDE: One developer uses IntelliJ Idea, another – Eclipse IDE

The client and the project manager (yours truly) are based in New York, the back-end developer is from Toronto, Canada, Web designer and Web Developer/Team lead work from Russia, the sys-admin works from Ukraine. For deployments we’ll be using our data centers – one in Florida and another one in New York.

This is it for now.