Challenge Overview
Tagging MicroService provides searching and managing functionality for tags. it is initially built with AWS DynamoDB. We'd like make further changes through community, but we can not provide AWS DynomoDB for local development.
For this challenge, we'd like to figure out way to make the service working with AWS DynomDB local docker container (https://hub.docker.com/r/deangiberson/aws-dynamodb-local/).
- Generally, we are not expecting code changes for this challenge, but instruction to run the tagging service locally. But If it is necessory to make code changes, please make sure the code change general, so we can easily use that for dev, qa and production easily.
- Please write clear instructions to run the service locally, the instructions should be write in README.md file.
- To use dynamoDB locally, please check the guide at http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.DynamoDBLocal.html
Verification
-
We’ll use docker to run AWS DynamoDB local (https://hub.docker.com/r/deangiberson/aws-dynamodb-local/) in your box, so if you don’t have docker follow the steps at https://docs.docker.com/engine/installation/
-
Run the AWS DynamoDB local (https://hub.docker.com/r/deangiberson/aws-dynamodb-local/) image
-
Build the microservice:
-
���mvn clean compile package
-
-
Configure the microservice if needed.
-
Run the microservice.
java <jvm params> -jar target/<microservice>.jar server src/main/resources/supply-server.yml
Note: <jvm params> should include any environment specific parameters that are not hardcoded in the yml: -D<property-name>=<value>
If the service starts successfully, you should see log messages similar to the ones below, displaying a list of registered endpoints specific to your service. If the service starts cleanly and you see the entries for all resources of the microservice, the service has been migrated correctly. Here is the example logs generated when the member microservice starts:
INFO [2016-04-08 03:57:51,305] io.dropwizard.jersey.DropwizardResourceConfig: The following paths were found for the configured resources:
GET /v3/members/{handle}/financial (com.appirio.service.member.resources.MemberFinancialResource)
GET /v3/members/{handle} (com.appirio.service.member.resources.MemberProfileResource)
POST /v3/members/{handle}/photoUploadUrl (com.appirio.service.member.resources.MemberProfileResource)
PUT /v3/members/{handle} (com.appirio.service.member.resources.MemberProfileResource)
PUT /v3/members/{handle}/photo (com.appirio.service.member.resources.MemberProfileResource)
GET /v3/members/{handle}/stats (com.appirio.service.member.resources.MemberStatsResource)
GET /v3/members/{handle}/stats/history (com.appirio.service.member.resources.MemberHistoryStatsResource)
GET /v3/members/stats/distribution (com.appirio.service.member.resources.MemberDistributionStatsResource)
GET /v3/members/{handle}/skills (com.appirio.service.member.resources.MemberSkillsResource)
PATCH /v3/members/{handle}/skills (com.appirio.service.member.resources.MemberSkillsResource)
GET /v3/members/{handle}/externalAccounts (com.appirio.service.member.resources.MemberExternalAccountsResource)
DELETE /v3/members/{handle}/externalLinks/{key} (com.appirio.service.member.resources.MemberExternalLinksResource)
GET /v3/members/{handle}/externalLinks (com.appirio.service.member.resources.MemberExternalLinksResource)
POST /v3/members/{handle}/externalLinks (com.appirio.service.member.resources.MemberExternalLinksResource)
INFO [2016-04-08 03:57:51,537] org.eclipse.jetty.server.handler.ContextHandler: Started i.d.j.MutableServletContextHandler@12fccff0{/,null,AVAILABLE}
INFO [2016-04-08 03:57:51,541] io.dropwizard.setup.AdminEnvironment: tasks =
POST /tasks/gc (io.dropwizard.servlets.tasks.GarbageCollectionTask)
INFO [2016-04-08 03:57:51,547] org.eclipse.jetty.server.handler.ContextHandler: Started i.d.j.MutableServletContextHandler@7babed9e{/,null,AVAILABLE}
INFO [2016-04-08 03:57:51,551] org.eclipse.jetty.server.ServerConnector: Started application@31e739bf{HTTP/1.1}{0.0.0.0:8080}
INFO [2016-04-08 03:57:51,552] org.eclipse.jetty.server.ServerConnector: Started admin@29079032{HTTP/1.1}{0.0.0.0:8081}
Final Submission Guidelines
- Added/Updated Files including README.md file, no Deployment Guide document needed.