{"id":18397435,"url":"https://github.com/avast/scala-server-toolkit","last_synced_at":"2025-05-16T05:04:51.983Z","repository":{"id":35538257,"uuid":"205404460","full_name":"avast/scala-server-toolkit","owner":"avast","description":"Functional programming toolkit for building server applications in Scala.","archived":false,"fork":false,"pushed_at":"2025-03-19T15:29:51.000Z","size":11486,"stargazers_count":200,"open_issues_count":13,"forks_count":21,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-25T17:02:45.343Z","etag":null,"topics":["cats-effect","functional-programming","scala","server","toolkit"],"latest_commit_sha":null,"homepage":"https://avast.github.io/scala-server-toolkit","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/avast.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2019-08-30T15:02:52.000Z","updated_at":"2025-03-19T15:29:53.000Z","dependencies_parsed_at":"2024-04-19T15:04:41.960Z","dependency_job_id":"90139c49-0fab-4d90-a0cf-fc1a0a073426","html_url":"https://github.com/avast/scala-server-toolkit","commit_stats":{"total_commits":1098,"total_committers":16,"mean_commits":68.625,"dds":0.3424408014571949,"last_synced_commit":"034ba11ae0b2035ee74c97f5c9b158146a287871"},"previous_names":[],"tags_count":130,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avast%2Fscala-server-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avast%2Fscala-server-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avast%2Fscala-server-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avast%2Fscala-server-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avast","download_url":"https://codeload.github.com/avast/scala-server-toolkit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254471060,"owners_count":22076585,"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","functional-programming","scala","server","toolkit"],"created_at":"2024-11-06T02:17:06.454Z","updated_at":"2025-05-16T05:04:51.962Z","avatar_url":"https://github.com/avast.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scala Server Toolkit\n\n![Build Status](https://github.com/avast/scala-server-toolkit/workflows/Build/badge.svg)\n[![Maven Central](https://img.shields.io/maven-central/v/com.avast/sst-bundle-zio-http4s-blaze_2.13)](https://repo1.maven.org/maven2/com/avast/sst-bundle-zio-http4s-blaze_2.13/)\n[![Scala Steward badge](https://img.shields.io/badge/Scala_Steward-helping-brightgreen.svg?style=flat\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAMAAAARSr4IAAAAVFBMVEUAAACHjojlOy5NWlrKzcYRKjGFjIbp293YycuLa3pYY2LSqql4f3pCUFTgSjNodYRmcXUsPD/NTTbjRS+2jomhgnzNc223cGvZS0HaSD0XLjbaSjElhIr+AAAAAXRSTlMAQObYZgAAAHlJREFUCNdNyosOwyAIhWHAQS1Vt7a77/3fcxxdmv0xwmckutAR1nkm4ggbyEcg/wWmlGLDAA3oL50xi6fk5ffZ3E2E3QfZDCcCN2YtbEWZt+Drc6u6rlqv7Uk0LdKqqr5rk2UCRXOk0vmQKGfc94nOJyQjouF9H/wCc9gECEYfONoAAAAASUVORK5CYII=)](https://scala-steward.org)\n[![Mergify badge](https://img.shields.io/endpoint.svg?url=https://gh.mergify.io/badges/avast/scala-server-toolkit)](https://mergify.io)\n\nThis project is a culmination of years of Scala development at Avast and tries to represent the best practices of Scala server development \nwe have gained together with tools that allow us to be effective. It is a set of small, flexible and cohesive building blocks that fit \ntogether well and allow you to build reliable server applications.\n\n## Jump Right In\n\nYou can use the [official Giter8 template](https://github.com/avast/sst-seed.g8) to get started:\n\n```bash\nsbt new avast/sst-seed.g8\n```\n\n## Documentation\n\n**[Read it here](https://avast.github.io/scala-server-toolkit)** or you can [deep dive into example code](example/src/main/scala/com/avast/sst/example/Main.scala).\n\n### Articles\n\n* [Introducing Scala Server Toolkit](https://engineering.avast.io/introducing-scala-server-toolkit) (Avast Engineering)\n* [SST - Creating HTTP Server](https://engineering.avast.io/scala-server-toolkit-creating-http-server) (Avast Engineering)\n\n### Talks\n* [Intro to Scala Server Toolkit](https://www.youtube.com/watch?v=T4xKu2bFUv0) (Functional JVM Meetup, Prague, January 23, 2020)\n  * [slides](https://speakerdeck.com/jakubjanecek/intro-to-scala-server-toolkit)\n* [Scala Server Toolkit: How to Write FP Microservice Step-by-step](https://www.youtube.com/watch?v=mQ6_BOucWJg) (LambdaConf 2020 Global Edition, online, June 23, 2020)\n  * [slides](https://speakerdeck.com/jakubjanecek/scala-server-toolkit-how-to-write-fp-microservice-step-by-step)\n\n## Design\n\nThere are certain design decisions and constraints that are put in place to guide the development of the toolkit and recommended for \nthe development of your server applications.\n\n* Keep the number of dependencies as low as possible.\n* Modular design: small, cohesive, orthogonal and composable components.\n* Functional programming.\n* Type safe configuration and resource lifecycle.\n* No need for dependency injection.\n* [Scalazzi Safe Scala Subset](https://slides.yowconference.com/yowwest2014/Morris-ParametricityTypesDocumentationCodeReadability.pdf)\n\n## Issues\n\nPlease report issues to [GitHub](https://github.com/avast/scala-server-toolkit/issues). Pull requests are always welcome.\n\n## Versioning\n\nThe project follows the [semantic versioning](https://semver.org) schema which means that just by looking at the version you will know \nwhether to expect compatibility problems or not.\n\nThe project values backwards compatibility but it cannot prevent innovation. There will be breaking changes but they will always be properly\nversioned and documented.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Code of Conduct\n\nSee [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).\n\n## License\n\nScala Server Toolkit is licensed under [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favast%2Fscala-server-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favast%2Fscala-server-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favast%2Fscala-server-toolkit/lists"}