{"id":24607661,"url":"https://github.com/adrianmarino/api-orders","last_synced_at":"2025-03-18T11:25:09.784Z","repository":{"id":53285553,"uuid":"199320871","full_name":"adrianmarino/api-orders","owner":"adrianmarino","description":null,"archived":false,"fork":false,"pushed_at":"2021-03-31T21:22:09.000Z","size":43,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-24T17:39:09.764Z","etag":null,"topics":["java-8","rest-api","springboot2"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adrianmarino.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-28T18:04:08.000Z","updated_at":"2019-07-31T00:26:47.000Z","dependencies_parsed_at":"2022-08-19T19:20:18.783Z","dependency_job_id":null,"html_url":"https://github.com/adrianmarino/api-orders","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianmarino%2Fapi-orders","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianmarino%2Fapi-orders/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianmarino%2Fapi-orders/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianmarino%2Fapi-orders/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adrianmarino","download_url":"https://codeload.github.com/adrianmarino/api-orders/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244209275,"owners_count":20416248,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java-8","rest-api","springboot2"],"created_at":"2025-01-24T17:39:20.470Z","updated_at":"2025-03-18T11:25:09.757Z","avatar_url":"https://github.com/adrianmarino.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API Orders\n\n###  Requisites\n\n* **Java 8**: i.e. install using sdkman:\n\n```bash\ncurl -s \"https://get.sdkman.io\" | bash\nsdk install java 8.0.222-amzn\n```\n\n* **Maven**: i.e. install using sdkman:\n\n```bash\nsdk install maven\n```\n\n* **MongoDB**: i.e. install using yaourt (archlinux):\n\n```bash\nyaourt -S mongodb-bin\n```\n  \n* **Docker**: i.e. install using yaourt (archlinux):\n\n```bash\nyaourt -S docker\n```\n\n### Start API with docker\n\n**Step 1:** Start docker daemon.\n\n```bash\nsudo systemctl start docker\n```\n\n**Step 2:** Start app docker env.\n\n```bash\nbash docker-startup\n```\n\n**Step 3:** Check api info:\n\n```bash\ncurl \"http://localhost:8080/api/navent/info\" | python -m json.tool\n```\n\n```json\n{\n    \"build\": {\n        \"groupId\": \"com.navent.api.orders\",\n        \"artifactId\": \"api-orders\",\n        \"version\": \"0.0.1-SNAPSHOT\"\n    }\n}\n```\n\n**Step 4:** Check api health.\n    \n```bash\ncurl \"http://localhost:8080/api/navent/health\" | python -m json.tool\n```\n\n```json\n{\n    \"status\": \"UP\",\n    \"details\": {\n        \"diskSpace\": {\n            \"status\": \"UP\",\n            \"details\": {\n                \"total\": 502996557824,\n                \"free\": 248056803328,\n                \"threshold\": 10485760\n            }\n        },\n        \"mongo\": {\n            \"status\": \"UP\",\n            \"details\": {\n                \"version\": \"4.0.0\"\n            }\n        }\n    }\n}\n```\n\n**Step 5:** Go to [swagger ui](http://localhost:8080/api/navent/swagger-ui.html) doc to test api-orders.\n\n**Step 6:** Go to [home](http://localhost:8080/api/navent).\n\n\n### Start API locally\n\n**Step 1:** Start mongodb server.\n\n```bash\nsudo systemctl start mongodb\n```\n\n**Step 2:** Go to mongo console.\n    \n```bash\nmongo\n```\n\n**Step 3** Create/switch to orders db.\n\n```bash\nuse orders\n```\n\n**Step 4:** Create authentication user use by api-orders to connect to orders db.\n\n```javascript\ndb.createUser(\n  {\n    user: \"orders\",\n    pwd: \"1234\",\n    roles: [ { role: \"readWrite\", db: \"orders\" } ]\n  }\n);\n```\n\n**Step 5:** Check authentication.\n\n```bash\nmongo --port 27017 -u \"orders\" -p \"1234\" --authenticationDatabase \"orders\"\n```\n\n**Step 6:** Switch to java 8 version.\n\n```bash\nsdk use java 8.0.222-amzn\n```\n\n**Step 7:** Download api-orders.\n\n```bash\ngit clone https://github.com/adrianmarino/orders.git\ncd orders\n```\n\n**Step 8:** Use localhost mongodb url version under **/src/resources/application.yaml**\n\n```yml\n  ...\n  data:\n    mongodb:\n      uri: \"mongodb://orders:1234@mongodb:27017/orders\" \u003c--- COMMENT (Docker version)\n      # uri: \"mongodb://orders:1234@localhost:27017/orders\" \u003c--- UNCOMMENT (Localhost version)\n  ...\n```\n\n**Step 9:** Startup api-orders.\n\n```bash\nbash startup\n```\n\n**Step 10:** Check api info:\n\n```bash\ncurl \"http://localhost:8080/api/navent/info\" | python -m json.tool\n```\n\n```json\n{\n    \"build\": {\n        \"groupId\": \"com.navent.api.orders\",\n        \"artifactId\": \"api-orders\",\n        \"version\": \"0.0.1-SNAPSHOT\"\n    }\n}\n```\n\n**Step 10:** Check api health.\n    \n```bash\ncurl \"http://localhost:8080/api/navent/health\" | python -m json.tool\n```\n\n\n```json\n{\n    \"status\": \"UP\",\n    \"details\": {\n        \"diskSpace\": {\n            \"status\": \"UP\",\n            \"details\": {\n                \"total\": 502996557824,\n                \"free\": 252307681280,\n                \"threshold\": 10485760\n            }\n        },\n        \"mongo\": {\n            \"status\": \"UP\",\n            \"details\": {\n                \"version\": \"4.0.11\"\n            }\n        }\n    }\n}\n```\n\n**Step 11:** Go to [swagger ui](http://localhost:8080/api/navent/swagger-ui.html) doc to test api-orders.\n\n**Step 12:** Go to [home](http://localhost:8080/api/navent).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianmarino%2Fapi-orders","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadrianmarino%2Fapi-orders","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianmarino%2Fapi-orders/lists"}