{"id":20316502,"url":"https://github.com/sentenza/cats-http4s-crypto","last_synced_at":"2025-04-11T17:41:06.843Z","repository":{"id":39843338,"uuid":"410980790","full_name":"sentenza/cats-http4s-crypto","owner":"sentenza","description":":moneybag: A sample microservice written in Scala using Cats, HTTP4S, Doobie that implements an application to compute Crypto/Fiat currency conversion rates","archived":false,"fork":false,"pushed_at":"2024-08-15T19:30:48.000Z","size":248,"stargazers_count":8,"open_issues_count":20,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-25T13:39:52.250Z","etag":null,"topics":["cats-effect","circe","doobie","fs2-grpc","hacktoberfest","http4s","pureconfig","scala"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sentenza.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2021-09-27T17:29:59.000Z","updated_at":"2024-05-19T12:42:35.000Z","dependencies_parsed_at":"2023-12-21T19:07:42.425Z","dependency_job_id":"d2f4a2d2-dc04-4acd-925d-52cd2f256e3c","html_url":"https://github.com/sentenza/cats-http4s-crypto","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/sentenza%2Fcats-http4s-crypto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sentenza%2Fcats-http4s-crypto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sentenza%2Fcats-http4s-crypto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sentenza%2Fcats-http4s-crypto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sentenza","download_url":"https://codeload.github.com/sentenza/cats-http4s-crypto/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248451373,"owners_count":21105859,"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":["cats-effect","circe","doobie","fs2-grpc","hacktoberfest","http4s","pureconfig","scala"],"created_at":"2024-11-14T18:26:28.314Z","updated_at":"2025-04-11T17:41:06.801Z","avatar_url":"https://github.com/sentenza.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cats HTTP4S Crypto\n\n\u003ca href=\"https://typelevel.org/cats/\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/typelevel/cats/c23130d2c2e4a320ba4cde9a7c7895c6f217d305/docs/src/main/resources/microsite/img/cats-badge.svg\" height=\"40px\" align=\"right\" alt=\"Cats friendly\" /\u003e\u003c/a\u003e\n![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/sentenza/cats-http4s-crypto/scala-ci.yml)\n[![Scala Steward badge](https://img.shields.io/badge/Scala_Steward-helping-blue.svg?style=flat\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAMAAAARSr4IAAAAVFBMVEUAAACHjojlOy5NWlrKzcYRKjGFjIbp293YycuLa3pYY2LSqql4f3pCUFTgSjNodYRmcXUsPD/NTTbjRS+2jomhgnzNc223cGvZS0HaSD0XLjbaSjElhIr+AAAAAXRSTlMAQObYZgAAAHlJREFUCNdNyosOwyAIhWHAQS1Vt7a77/3fcxxdmv0xwmckutAR1nkm4ggbyEcg/wWmlGLDAA3oL50xi6fk5ffZ3E2E3QfZDCcCN2YtbEWZt+Drc6u6rlqv7Uk0LdKqqr5rk2UCRXOk0vmQKGfc94nOJyQjouF9H/wCc9gECEYfONoAAAAASUVORK5CYII=)](https://scala-steward.org)\n\nA sample microservice written in Scala using Cats, HTTP4S, Doobie that implements an application to compute Crypto/Fiat\ncurrency conversion rates.\n\nThis project is based upon the work that has been done in:\n\n* [Scala Pet Store](https://github.com/pauljamescleary/scala-pet-store)\n* [todo-http4s-doobie](https://github.com/jaspervz/todo-http4s-doobie/tree/master/src/main/scala)\n\n## Project stack\n\nThis project is meant to be implemented using the [TypeLevel stack](https://typelevel.org/) as much as possible.\n\n* [Cats](https://typelevel.org/cats/) for FP type classes\n* [Http4s](http://http4s.org/) to provide a minimal, idiomatic Scala interface for HTTP services\n* [Circe](https://circe.github.io/circe/) for JSON serialization\n* [Doobie](https://github.com/tpolecat/doobie) to persist data using relational databases like Postgres\n* [Pure Config](https://github.com/pureconfig/pureconfig) to handle app configuration\n* [FS2 gRPC]()\n* Tagless Final wherever possible\n\n## How to run the project\n\nPlease read the\n[CoinMarketCap API documentation](https://coinmarketcap.com/api/documentation/v1/#section/Quick-Start-Guide)\nto understand how to consume their API. You can either define in application.conf your CoinMarketCap API KEY or set it\nas an environment variable. For Linux systems you can simply export it:\n\n```bash\nexport CMC_API_KEY=\"\u003cYOUR-KEY-HERE\u003e\"\n```\n\nor you can even pass it to the binary (JAR) as a TypeLevel config (Java) parameter as `-Dcmc.apikey=\"\u003cYOUR-KEY-HERE\u003e\"`\n\n## Design principles\n\nSee [DOCS](/DOCS.md)\n\n## Code of conduct\n\nSee the [Code of Conduct](/CODE_OF_CONDUCT.md)\n\n## License\n\nThis project is released under the MIT license. See [LICENSE](/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsentenza%2Fcats-http4s-crypto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsentenza%2Fcats-http4s-crypto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsentenza%2Fcats-http4s-crypto/lists"}