Time: 30 minutes
What you’ll learn
How to set up your local development environment for:
- Java Micronaut component development.
- Run the developed component in the local development mode on your machine.
- Create a new CodeNOW component in your application.
- Use the Java Micronaut scaffolder.
- See How to Create a New Application Component tutorial.
Prepare local development IDE
- Clone code from the created git repository to your local machine.
- Use your favourite IDE and import repository as a maven project. You will require:
- Java 11+
- Enable maven support in your IDE and install Apache maven (if required) – http://maven.apache.org/ide.html
- Enable Micronaut support – https://docs.micronaut.io/latest/guide/quickStart.html#ideSetup
- Make sure you enabled “Enable annotation processing” checkbox in your IDE’s maven configuration.
- To run the project in the local development setup, check README.md . The required minimum is to set the path to Micronaut configuration file as a JVM startup parameter:
- Check the Run configuration dialog in your IDE and set this line as a VM argument
- Start Run/Debug in your IDE.
- The component should successfully start up with port 8080 exposed
- Check the swagger-ui by clicking on http://localhost:8080/swagger/index.html
For more information about the Swagger UI check: https://swagger.io/tools/swagger-ui/
- Swagger UI is used as a simple swagger presentation UI.
- Any changes must apply to the swagger.yaml in the src/main/resources/META-INF/swagger directory
- The same swagger UI is used as a documentation tool and is also an easy way to test the functionality of your component’s API.
Docker compose and third-party tools
Some manuals for CodeNOW work with different third-party components like Apache Kafka or Redis. The easiest way for local development is to download the publicly available docker compose receipts. Some examples used during the writing of this manual:
- More about docker compose: https://docs.docker.com/compose/install/
- Kafka with Kafdrop: https://github.com/StratoxEnterprises/oxus-docker-kafka-dev.git
- Redis with Redis Commander: https://github.com/ikknd/docker-study.git
- PostgreSQL with PgAdmin: https://github.com/khezen/compose-postgres.git