{"id":27942041,"url":"https://github.com/secretdeveloperisme/patchtool_apigateway","last_synced_at":"2025-05-07T11:26:02.948Z","repository":{"id":290965430,"uuid":"762606313","full_name":"secretdeveloperisme/PatchTool_APIGateway","owner":"secretdeveloperisme","description":null,"archived":false,"fork":false,"pushed_at":"2024-02-24T07:11:33.000Z","size":81,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-06T16:04:29.249Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/secretdeveloperisme.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-02-24T07:09:36.000Z","updated_at":"2024-02-24T07:11:37.000Z","dependencies_parsed_at":"2025-05-01T16:34:11.820Z","dependency_job_id":"98a6e938-9b5b-48ba-a1ff-9f531d432efc","html_url":"https://github.com/secretdeveloperisme/PatchTool_APIGateway","commit_stats":null,"previous_names":["linhplus/patchtool_apigateway","secretdeveloperisme/patchtool_apigateway"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secretdeveloperisme%2FPatchTool_APIGateway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secretdeveloperisme%2FPatchTool_APIGateway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secretdeveloperisme%2FPatchTool_APIGateway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secretdeveloperisme%2FPatchTool_APIGateway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/secretdeveloperisme","download_url":"https://codeload.github.com/secretdeveloperisme/PatchTool_APIGateway/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252867374,"owners_count":21816665,"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":[],"created_at":"2025-05-07T11:26:02.302Z","updated_at":"2025-05-07T11:26:02.932Z","avatar_url":"https://github.com/secretdeveloperisme.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API Gateway Service\n\nAn API gateway is a software that connects clients and backend services, and performs various tasks such as routing, caching, authentication and authorization.\n## Table of Content \n- #### [Features](#features) \n- #### [Building](#building)\n  - #### [Prerequisites]()\n  - #### [Installation]()\n- #### [Running](#running)\n  - #### [Prerequisites]()\n  - #### [Configuration]()\n  - #### [Installation]()\n- #### [Dependencies](#dependencies)\n- #### [Contributing](#contributing)\n- #### [Licences](#licences)\n## Features\n- Caching the token and role to increase performance\n- Routing the request to appropriate downstream services\n- Performing authentication and authorization\n## Building\n ### Prerequisite\nBefore you begin, ensure you have met the following requirements:\n- Java Development Kit (JDK) version 17.0.2 installed\n- Gradle version 8.2 installed\n- Familiarity with Spring Cloud concepts\n### Installation\n1. Clone the repository.\n  ```bash\n  git clone https://gitlab.tma.com.vn/vs-path-tool/backend/api-gateway\n  ```\n2. Navigate to the project directory.\n  ```bash\n  cd api-gateway\n  ```\n3. Build the project using Gradle.\n\n  ```bash\n  gradle build\n  ```\n## Running\n### Prerequisites \n- Java Runtime Environment (JRE) version 17.0.2 installed\n- Redis version 7.0.12 installed\n- Apache kafka version 2.12-3.5.0 installed on standalone server\n### Configuration \nIn application.properties file, change the configuration host and port  of the servers:\n\n```properties\n#Eruka server\neureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka\n# Redis\nspring.cache.redis.username=dba_redis\nspring.cache.redis.password=123456\nspring.cache.redis.host=127.0.0.1\nspring.cache.redis.port=6379\n# Kafka\nspring.kafka.bootstrap-servers=127.0.0.1:9092\n```\n\n\n## Dependencies\n| Name                                                                 | Version  |\n|----------------------------------------------------------------------|----------|\n| org.springdoc:springdoc-openapi-starter-webflux-ui                   | 2.0.4    |\n| org.springframework.cloud:spring-cloud-starter-gateway               | 4.0.6    |\n| org.springframework.cloud:spring-cloud-starter-netflix-eureka-client | 4.0.2    |\n| redis.clients:jedis                                                  | 4.3.0    |\n| com.auth0:java-jwt                                                   | 4.4.0    |\n| org.springframework.kafka:spring-kafka                               | 3.0.9    |\n| org.projectlombok:lombok                                             | 1.18.28  |\n| org.springframework.boot:spring-boot-starter-test                    | 3.1.1    |\n| org.springframework.cloud:spring-cloud-dependencies                  | 2022.0.3 |\n## Contributing\n\nPull requests are welcome. \\\nFor major changes, please open an issue first to discuss what you would like to change. \\\nPlease make sure to update tests as appropriate. \n\n## License\n[MIT](https://choosealicense.com/licenses/mit/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecretdeveloperisme%2Fpatchtool_apigateway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsecretdeveloperisme%2Fpatchtool_apigateway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecretdeveloperisme%2Fpatchtool_apigateway/lists"}