{"id":16771545,"url":"https://github.com/meysam81/amadeus-go","last_synced_at":"2025-07-13T22:31:35.310Z","repository":{"id":99614174,"uuid":"169548094","full_name":"meysam81/amadeus-go","owner":"meysam81","description":"This repository is a microservice written in golang for Amadeus API, transporting via gRPC using protobuf","archived":false,"fork":false,"pushed_at":"2024-10-08T08:56:21.000Z","size":193,"stargazers_count":3,"open_issues_count":2,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2024-10-14T06:28:28.387Z","etag":null,"topics":["amadeus","amadeus-api","consul","go","golang","protobuf","protobuf3","redis"],"latest_commit_sha":null,"homepage":"https://developers.amadeus.com","language":"Go","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/meysam81.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}},"created_at":"2019-02-07T09:36:17.000Z","updated_at":"2019-10-18T17:04:54.000Z","dependencies_parsed_at":"2023-07-31T04:45:42.458Z","dependency_job_id":null,"html_url":"https://github.com/meysam81/amadeus-go","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/meysam81%2Famadeus-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meysam81%2Famadeus-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meysam81%2Famadeus-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meysam81%2Famadeus-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meysam81","download_url":"https://codeload.github.com/meysam81/amadeus-go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225920206,"owners_count":17545442,"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":["amadeus","amadeus-api","consul","go","golang","protobuf","protobuf3","redis"],"created_at":"2024-10-13T06:28:27.797Z","updated_at":"2024-11-22T15:31:24.113Z","avatar_url":"https://github.com/meysam81.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Amadeus-go\nThis projects aims to serve as a wrapper for [Amadeus](https://developers.amadeus.com) API, which gives flight and hotel information. The hotel however, is not yet ready but the rest of it (overalls to 12 API calls total) is ready. This project was implemented using the following technologies and libraries.\n- [go-kit](https://gokit.io/) as a microsevice toolkit\n- [gRPC](https://grpc.io/) as the transport layer\n- [protobuf](https://developers.google.com/protocol-buffers/) for serialization\n- [consul](https://www.consul.io/) for service discovery\n- [redis](https://redis.io/) for caching some stuff such as token\n\n## Quickstart\nFirstly start by cloning the project into your local computer using the following command:\n```bash\ngit clone github.com:meysam81/amadeus-go.git\n```\n\nAfter doing that, change your directory into the porject's root directory:\n```bash\ncd amadeus-go\n```\n\nDoing the above, you'll be able to `make` some stuff that is in the [Makefile](Makefile). From the entries that already exists, you surely need to do the following as they are mandatory.\n```bash\nmake proto\n```\nThis command will generate the compiled proto files for you in their right directory. **this command has to be entered before going any futher**\n\nYou should also enter your `API_KEY` and `API_SECRET` to the corresponding [config files](config/) which looks like the following:\n```\n{\n  \"API_KEY\": \"\u003cAPI_KEY\u003e\",\n  \"API_SECRET\": \"\u003cAPI_SECRET\u003e\"\n}\n```\n\nYou can now run the server using the following command:\n```bash\nmake dev_run\n```\n\nAlso if you want to test the server, there's a built-in client in [cmd/cli/cli.go](cmd/cli/cli.go). To run it use the following command:\n```bash\nmake dev_cli\n```\n\nYou can also run it in container as there's a [Dockerfile](Dockerfile) in the project's root directory. So runnning the following commands will build and run it.\n```bash\nmake build\nmake up\n```\n\nIf you want to stop the container you can enter the following command into your terminal:\n```bash\nmake down\n```\n\n## Contribute\nFeel free to contribute at anytime, PR's are welcomed with pleasure :smiley:\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeysam81%2Famadeus-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeysam81%2Famadeus-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeysam81%2Famadeus-go/lists"}