It is split in 4 maven submodules that are managed by Spring Boot parent module.
- contains business entities, repositories, database scripts, services, game files reader.
- uses Hibernate 4 and Liquibase with a HSQLDB database.
- repositories are based on Spring-Data-Jpa
- is based on spring-mvc-archetype and deployed on an embedded Tomcat server (provided by Spring Boot).
- uses a REST architecture and thus, all client-server messages are in json format.
- contains web project configuration and REST controllers.
- contains hmtl, css, javascript, and images.
- is based on ngBoilerPlate and yeoman. I prefer ngBoilerPlate but since updates are really slow, I'm using some grunt tasks found in yeoman.
- uses NodeJS and Grunt to automate everything.
- is entirely piloted by Angular and uses jQWidgets for UI components.
- batch program to generate creature's scripts.
- Must have Java JDK 1.7.
- Must have Maven 3.x.
- Must have node.js (at least v0.10.x).
- Must have Grunt node package installed globally.
npm install -g grunt-cli
- Must have Bower node package installed globally.
npm install -g bower
On Windows OS, Maven can't execute cmd files (npm and grunt). So they need to be duplicated and renamed with bat extension.
- Eclipse IDE for Java EE Developers.
- Plugin EasyShell. Handfull for calling grunt tasks and running hsqldb server.
- Add Java 1.7 SDK (Preferences / Installed JREs)
- Open Git Repository Exploring
- Clone a Git Repository and add the clone to this view.
- Clone https://github.com/arnaudpourbaix/creature-editor.git and check "import project"
- Right click on project and select Maven > Update Project..., check all sub-modules
- Project / Clean... / Clean all projects (if there are some java errors)
- Start database, can be done using
start.cmd
in launcher folder (in parent project, right click onstart.cmd
and select Easy Shell > Run...) - Create and run a maven configuration to create/update database:
liquibase:update
(Base directory:${workspace_loc:/creature-editor-core}
). This will create database and update it on further executions. - Create a java configuration to start web application (Project:
creature-editor-front
, Main class:com.pourbaix.creature.editor.web.spring.WebAppInitializer
).
- Project Properties, JavaScript, Include Path, Source, included, Edit, Add
src/app
- Open a shell command in project root directory
npm install
bower install
- Start Web application
- Open a shell command in web project root directory
grunt serve
- Open url
http://localhost:9000
in a browser