- Java JRE
- Maven
- MYSQL Database (Docker)
- NPM
- Copy
.env.template
and rename it as.env
to 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-resolve
with Dockermvn liquibase:dropAll
to clear database
- Setup java server
mvn install
to install dependencies. Usually IDEs do this automaticallymvn package
to to setup projectmvn clean
if 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 clean
and rerun backend to fix this. - When creating db migrations, use
mvn jooq-codegen:generate
to generate new classes to db package. If software doesn't rerun because of foreign key issues, runmvn liquibase:dropAll
to 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_DIALECT
defaults:MYSQL
. If using MariaDB:MARIADB
DBUNIT_RUN
defaults:true
. This defines whether to run populate to db on run. Populate is based on/src/main/resources/dataset.xml
SERVER_PORT
defaults8080
. Can be changed freely if port is not free.SERVER_HOST
defaults127.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.