Build and run ODD Platform
Developer guide on how to build and run ODD Platform backend and frontend
Last updated
Developer guide on how to build and run ODD Platform backend and frontend
Last updated
For instructions on how to run the ODD Platform and ODD Collectors locally in a Docker environment, please follow article.
ODD Platform tech stack is:
Backend
Java
Gradle
for database migrations
for integration testing
Frontend
Typescript
React
ODD Platform's backend and frontend are packaged inside one JAR, which is packaged inside one Docker container using .
We believe in contract-first approach. That's why ODD Platform uses OpenAPI generators and jOOQ custom generator over database migrations to create models which are used further in the code.
Go into the repository's root directory
Use gradle wrapper to build the platform
Building a project is a good way to check if your code compiles, all tests pass, there's no code smells, etc.
Use gradle wrapper to build the platform and containerize it
The above command will build a platform and create a local docker container called odd-platform:dev
. If you want to change the image name, feel free to change an --image
property to what you want.
The easiest way to have ODD Platform at your disposal locally is to:
Launch a PostgreSQL docker container as a ODD Platform's database using docker-compose
Start the application
Inject some demo metadata into your local ODD Platform.
We understand that frontend engineers might not want to install heavy prerequisites such as Java only for make changes in the UI. Here is one of the ways how to run fully functional ODD Platform in Docker:
Launch Docker container with ODD Platform, database and inject demo metadata using docker-compose:
Go into UI folder
Run UI development server
Now you should have UI development server at your disposal at http://localhost:3000
To run backend tests simply execute the following command:
To run frontend tests execute the following command in odd-platform-ui
folder:
preferably the latest
Java 17 (consider using for that)
and (consider using for that)
a repository if you haven't done it already.
Now you should have ODD Platform with demo metadata injected at your disposal at http://localhost:8080
. If you want to reconfigure default settings, please take a look at page.
Or if you want to have the latest platform version from main or any branch, and replace odd-platform image with created one in docker/demo.yaml
compose file and run it using command above: