For documentation purposes, just open the following link: Star Wars API Kotlin Documentation
This api is a simple wrapper for the Star Wars API where you can get information about the characters, planets, starships, vehicles, species, films, and more with a few extra features where you can handle this data however you need.
The api also is documented with OpenAPI Swagger, so if you have any doubt, just open in your browser the follow url: http://domain-you-are-using/api/v0/swagger-ui/index.html
Please, read the content below to know how to use this api and if is there any doubt, please, contact me.
You'll have two options to start the app, the first one you can run the app and environment together in a container.
If you want just run the app in your java environment without setup any IDE or tool, just run the following from the app root.
chmod +x ./scripts/developer-mode.sh
./scripts/developer-mode.sh
Once you need debug and see some application logs, or want to use an IDE like Intellij, we strongly recommend you to up the environment with localstack and mongodb and export the following variables to your IDE or any tool you are using.
Environment Variables
MONGO_HOST=localhost
MONGO_USER=admin
MONGO_PASSWORD=password
MONGO_PORT=27017
MONGO_DB=starwars
MONGO_CONTAINER_NAME=mongoservice
AWS_SECRET_KEY=SECRET
AWS_ACCESS_KEY=ACCESS
AWS_REGION=us-east-1
SNS_ENDPOINT=http://localhost:4566
SQS_PLANET_DELETE_URL=http://localhost:4566/queue/planet-delete.fifo
SQS_ENDPOINT=http://localhost:4566
SWAPI_URL=https://swapi.dev/api
ENV=ENV
API_PORT=8080
PROFILE=dev
MONGO_AUTH_SOURCE=admin
KAFKA_BOOTSTRAP_ADDRESS=http://localhost:9093
Once you set it, just run the following command:
chmod +x ./scripts/cache-docker/mount-environment.sh
./scripts/cache-docker/mount-environment.sh
After this, just start the app in your tool.
Execute the following commands
chmod +x ./scripts/test-mode.sh
./scripts/test-mode.sh
Export the following env vars to your tool:
MONGO_HOST=localhost
MONGO_USER=admin
MONGO_PASSWORD=password
MONGO_PORT=27017
MONGO_DB=starwars
MONGO_CONTAINER_NAME=mongoservice
AWS_SECRET_KEY=SECRET
AWS_ACCESS_KEY=ACCESS
AWS_REGION=us-east-1
SNS_ENDPOINT=http://localhost:4566
SQS_ENDPOINT=http://localhost:4566
SQS_PLANET_DELETE_URL=http://localhost:4566/queue/planet-delete.fifo
SWAPI_URL=https://swapi.dev/api
ENV=ENV
API_PORT=8080
PROFILE=test
MONGO_AUTH_SOURCE=admin
KAFKA_BOOTSTRAP_ADDRESS=http://localhost:9093
Once you set it, just run the following command:
chmod +x ./scripts/cache-docker/mount-environment.sh
./scripts/cache-docker/mount-environment.sh
After done it to your tool, just run the tests in your tool.