{"id":19623913,"url":"https://github.com/msskowron/pricefetchermicro","last_synced_at":"2026-05-02T18:38:59.983Z","repository":{"id":68676005,"uuid":"580155654","full_name":"MSSkowron/PriceFetcherMicro","owner":"MSSkowron","description":"Microservice to fetch cryprocurrencies price written in Go.","archived":false,"fork":false,"pushed_at":"2023-01-28T13:50:08.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-09T11:56:00.491Z","etag":null,"topics":["docker","go","grpc","postgresql","rest-api"],"latest_commit_sha":null,"homepage":"","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/MSSkowron.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":"2022-12-19T21:21:55.000Z","updated_at":"2023-07-28T12:11:39.000Z","dependencies_parsed_at":"2023-03-11T04:08:37.804Z","dependency_job_id":null,"html_url":"https://github.com/MSSkowron/PriceFetcherMicro","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/MSSkowron%2FPriceFetcherMicro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MSSkowron%2FPriceFetcherMicro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MSSkowron%2FPriceFetcherMicro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MSSkowron%2FPriceFetcherMicro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MSSkowron","download_url":"https://codeload.github.com/MSSkowron/PriceFetcherMicro/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240921623,"owners_count":19878985,"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":["docker","go","grpc","postgresql","rest-api"],"created_at":"2024-11-11T11:36:04.140Z","updated_at":"2026-05-02T18:38:59.889Z","avatar_url":"https://github.com/MSSkowron.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# PriceFetcherMicro\r\n\r\nPriceFetcherMicro is a microservice written in Go to fetch cryprocurrencies price. \\\r\nPrices are currently hard coded in server.go file. There are currently two available: BTC and ETH. \\\r\nREST Server is listening on port 3000, while gRPC server is listening on port 4000.\r\n\r\n## Technologies\r\n\r\n- Go\r\n- PostgreSQL\r\n- Docker\r\n\r\n## Requirements\r\n\r\nWe need to have Docker installed in order to run the application.\r\n\r\n## Installation\r\n\r\n`git clone https://github.com/MSSkowron/GoPriceFetcherMicro`\r\n\r\n## How to run\r\n\r\n```\r\ncd GoPriceFetcherMicro\r\ndocker-compose up -d\r\n```\r\n\r\n## How to use it?\r\n\r\n- ***REST Client*** \\\r\nWe can use _Client_ struct from the _client_ package. \\\r\n_NewClient_ creates a new instance of the _Client_ struct. We only need to pass the server listening address. In this case it is \":3000\". \\\r\nIn order to fetch a price use _FetchPrice_ method on the client instance. \\\r\nOf course in order to fetch a price we can also make a HTTP request specyfing _ticker_ as a request's query parameter. \\\r\nFor example: http://localhost:3000/?ticker=BTC \\\r\nJSON Response Body:\r\n  ```json\r\n  {\r\n    \"ticker\":    \"string\",\r\n    \"price\":     \"float64\"\r\n  }\r\n  ```\r\n\r\n- ***gRPC Client*** \\\r\nWe can use _proto.PriceFetcherClient_ struct from the _client_ package. \\\r\n_NewGRPCClient_ creates a new instance of the _proto.PriceFetcherClient_ struct. We only need to pass the server listening address. In this case it is \":4000\". \\\r\nIn order to fetch a price use _FetchPrice_ method on the _proto.PriceFetcherClient_ instance.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsskowron%2Fpricefetchermicro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmsskowron%2Fpricefetchermicro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsskowron%2Fpricefetchermicro/lists"}