- Java JRE
- Maven
- MYSQL Database (Docker)
- NPM
- Copy
.env.templateand rename it as.envto configure environment variables - Setup database
docker run -d --name skydive-db -e MYSQL_USER=test -e MYSQL_PASSWORD=test -e MYSQL_DATABASE=skydive -e MYSQL_ROOT_PASSWORD=test -p 3306:3306 mysql:5.7 --skip-name-resolvewith Dockermvn liquibase:dropAllto clear database
- Setup java server
mvn installto install dependencies. Usually IDEs do this automaticallymvn packageto to setup projectmvn cleanif everything else fails and retry.
- This project uses Snoozy, which comes automatically configured with Jubics Checkstyle. Install CheckStyle plugin to your IDE and add new config:
https://raw.githubusercontent.com/jubicoy/checkstyle/master/src/main/resources/checkstyle.xml - When using dependency injection, often times program doesn't rerun without error. Run
mvn cleanand rerun backend to fix this. - When creating db migrations, use
mvn jooq-codegen:generateto generate new classes to db package. If software doesn't rerun because of foreign key issues, runmvn liquibase:dropAllto clear database. - When creating commit, make sure that your application (front & back) doesn't have errors
mvn test&npm run test.
Environment variables can be seen in .env.template file. Renaming .env.template to .env applies env variables. .env.template contains default development env variables.
JOOQ_DIALECTdefaults:MYSQL. If using MariaDB:MARIADBDBUNIT_RUNdefaults:true. This defines whether to run populate to db on run. Populate is based on/src/main/resources/dataset.xmlSERVER_PORTdefaults8080. Can be changed freely if port is not free.SERVER_HOSTdefaults127.0.0.1 (localhost). Optional. If planning to use localhost as host ip, this doesn't need to be set.
Rest of the variables are self explanatory and can be found in .env.template file.