{"id":21948162,"url":"https://github.com/evolution-gaming/scala-bootcamp","last_synced_at":"2025-05-16T17:05:17.798Z","repository":{"id":40471145,"uuid":"232566604","full_name":"evolution-gaming/scala-bootcamp","owner":"evolution-gaming","description":"Scala Bootcamp","archived":false,"fork":false,"pushed_at":"2025-01-14T10:50:58.000Z","size":5246,"stargazers_count":145,"open_issues_count":0,"forks_count":96,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-04-12T15:58:36.403Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","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/evolution-gaming.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":"2020-01-08T13:13:32.000Z","updated_at":"2025-03-24T12:35:24.000Z","dependencies_parsed_at":"2025-02-07T10:21:03.535Z","dependency_job_id":null,"html_url":"https://github.com/evolution-gaming/scala-bootcamp","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/evolution-gaming%2Fscala-bootcamp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evolution-gaming%2Fscala-bootcamp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evolution-gaming%2Fscala-bootcamp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evolution-gaming%2Fscala-bootcamp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evolution-gaming","download_url":"https://codeload.github.com/evolution-gaming/scala-bootcamp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254573588,"owners_count":22093731,"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":"2024-11-29T05:12:14.743Z","updated_at":"2025-05-16T17:05:17.729Z","avatar_url":"https://github.com/evolution-gaming.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scala Bootcamp\n\nThis repository contains information on the [Evolution Gaming](https://eng.evolutiongaming.com/) Scala Bootcamp.\n\n## Schedule\n\n[2023 Q1-Q2 bootcamp schedule](Schedule.md)\n\n## Preparation for the bootcamp\n\n### Prerequisites\n\nPlease install recent versions of the following before the first lecture:\n- [intelliJ IDEA Community Edition](https://www.jetbrains.com/idea/download/)\n- [Scala plug-in](https://www.jetbrains.com/help/idea/discover-intellij-idea-for-scala.html) for IntelliJ IDEA\n- Java Development Kit (JD), such as OpenJDK, e.g. [AdoptOpenJDK](https://adoptopenjdk.net/)\n- [Scala](https://www.scala-lang.org/download/)\n- [SBT](https://www.scala-sbt.org/download.html)\n- [Git](https://git-scm.com/downloads)\n\nAlternatives that are also expected to work:\n- [Visual Studio Code](https://code.visualstudio.com/Download) with [Metals](https://marketplace.visualstudio.com/items?itemName=scalameta.metals) as an IDE (to replace `IntelliJ IDEA Community Edition` and `Scala plug-in` respectively)\n- Using [homebrew](https://brew.sh/) for installing [OpenJDK](https://formulae.brew.sh/formula/openjdk) (for MacOS)\n- Using [SDKMAN!](https://sdkman.io/) for installing the JDK\n\n### Prepare the project\n\n- Check out the [Scala Bootcamp](https://github.com/evolution-gaming/scala-bootcamp) project\n- Run tests from the command line using `sbt test`\n- Open the project in IntelliJ IDEA and run tests there (right-click on `scala-bootcamp` project in the left panel and click `Run ScalaTests in ‘scala…’`)\n\nThe tests will fail (for now), this is normal and expected.\n\nIf the tests do not compile, this is usually because the JDK used is too old. Make sure you use a recent JDK.\n\n### Troubleshooting\n\nIn case of issues:\n- Read [Getting Started with Scala](https://docs.scala-lang.org/getting-started/index.html)\n- Read [Discover IntelliJ IDEA for Scala](https://www.jetbrains.com/help/idea/discover-intellij-idea-for-scala.html)\n- Ask in the Bootcamp chat\n\n## Learning resources\n\nAll resources are listed in no particular order. These resources are optional and not required to complete the bootcamp.\n\n### Books\n\n- [Essential Scala](https://underscore.io/books/essential-scala/) (free)\n- [Creative Scala](https://www.creativescala.org/) (free)\n- [Scala with Cats 2](https://www.scalawithcats.com/) (free)\n- [Functional Programming for Mortals with Scalaz](https://leanpub.com/fpmortals) (free+)\n- [Functional Programming for Mortals with Cats](https://leanpub.com/fpmortals-cats) ($15+)\n- [Scala from Scratch: Exploration](https://leanpub.com/scala-from-scratch-exploration) ($15+)\n- [Functional Programming in Scala](https://www.manning.com/books/functional-programming-in-scala#toc) ($25+)\n- [Practical FP in Scala: A hands-on approach](https://leanpub.com/pfp-scala) ($30+)\n- [Programming in Scala](https://booksites.artima.com/programming_in_scala_3ed) ($30+)\n- [Functional and Reactive Domain Modeling](https://www.manning.com/books/functional-and-reactive-domain-modeling) ($30+)\n- [Essential Effects](https://essentialeffects.dev/) ($35+)\n- [Functional Event-Driven Architecture](https://leanpub.com/feda) ($35+)\n- [Zionomicon](https://www.zionomicon.com/) ($70)\n\n### Other\n\n- [Tour of Scala](https://docs.scala-lang.org/tour/tour-of-scala.html) \u0026 [Scala Book](https://docs.scala-lang.org/overviews/scala-book/introduction.html) from [scala-lang.org](https://www.scala-lang.org/)\n- [Scala Exercises](https://www.scala-exercises.org/) \n- [Coursera Scala Specialization](https://www.coursera.org/specializations/scala)\n- [Rock the JVM courses](https://rockthejvm.com/)\n- [FP Tower](https://www.fp-tower.com/)\n\n### Non-Scala\n\n- [Learn Git Branching](https://learngitbranching.js.org/)\n\n## Status\n\n* The [2020 Q1-Q2 bootcamp](https://evolution-gaming.timepad.ru/event/1106949/) has concluded\n* The [2020 Q3-Q4 bootcamp](/presentations/2020-q3-q4/Schedule.md) has concluded\n* The [2021 Q1-Q2 bootcamp](/presentations/2021-q1-q2/Schedule.md) has concluded\n* The [2021 Q3-Q4 bootcamp](/presentations/2021-q3-q4/Schedule.md) has concluded\n* The [2022 Q1-Q3 bootcamp](/presentations/2022-q1-q3/Schedule.md) has concluded\n* The [2023 Q1-Q2 bootcamp](Schedule.md) started on 2023-01-24\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevolution-gaming%2Fscala-bootcamp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevolution-gaming%2Fscala-bootcamp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevolution-gaming%2Fscala-bootcamp/lists"}