# Project setup ## Setting up the environment ### Setting up GIT Dowload and install [GIT](https://git-scm.com/downloads). Open a console (also know as cmd or terminal) and check GIT installation -- type `git --version` in the console and check if the version is printed: ![](https://i.imgur.com/lWVrxAi.png) ### Setting up IDE In this course we are using [IntelliJ IDEA](https://www.jetbrains.com/idea/). If you prefer another IDE please bear in mind that you could face a problems with the latest Scala version. It is required to you the latest IntelliJ IDEA. The best approach to keep IDEA up-to-date is to setup [Toolbox App](https://www.jetbrains.com/toolbox-app/) which allows to update JetBrains products automatically. #### Scala related pligins setup In IntelliJ IDEA go to plugins page (`File` → `Preferences` for Windows and Linux or `IntelliJ IDEA` → `Preferences` for MacOS): ![](https://i.imgur.com/MVOb3WQ.png) Install SBT Executor plugin as well ![](https://i.imgur.com/OzESwXX.png) ## Seting up the project ### Setting up GitHub account Register [GitHub](https://github.com/) account. ### Fork the project Login to your GitHub account, go to [project repository](https://github.com/KarazinScalaUsersGroup/scala-course-2021-autumn) and fork it: ![](https://i.imgur.com/rr3NZAi.png) ### Clone the project To clone the project to your local machine copy the link to the fork in your GitHub repository: ![](https://i.imgur.com/OQrrHka.png) In IntelliJ IDEA open `File` → `New` → `Project from Version Control...` ![](https://i.imgur.com/k4RRffg.png) Choose a directory when you'd like to save the project and put the copied link to URL field: ![](https://i.imgur.com/xG3Vw3t.png) If evrything is done you'll see the project: ![](https://i.imgur.com/68HXKDX.png) ### Add me as a collaborator to your project To be able to add me (`IgorWolkov`) as a reviewer you need to add me as a collaborator to the project ![](https://i.imgur.com/DK4rZpf.jpg) ![](https://i.imgur.com/BYOZwsa.png) ### Setting up JDK In IntelliJ IDEA open `File` → `Project Structure`: ![](https://i.imgur.com/VLfk4Vk.png) In `Project Structure` set JDK: ![](https://i.imgur.com/aURxe4j.png) We are using JDK 11, you can choose any vendor you like: ![](https://i.imgur.com/L3dchXV.png) Downloaded JDK should appeared in `SDK`: ![](https://i.imgur.com/nWmsP0d.png) In `Project` should be JDK 11: ![](https://i.imgur.com/eayWOmi.png) ### Setting up Scala in the project In `Project Structure` set Scala: ![](https://i.imgur.com/BIfLOiw.png) Download Scala 3.1: ![](https://i.imgur.com/mvs3F7T.png) If everything is done you'll see in `Globa Libraries`: ![](https://i.imgur.com/Jfu8T8e.png) In `Libraries` should be Scala 3.1: ![](https://i.imgur.com/ZcdxjCC.png) ### Clean and compile project from sbt Type `clean` in `sbt shell`: ![](https://i.imgur.com/MULUT3X.png) Type `compile` in `sbt shell`: ![](https://i.imgur.com/M3bzxPp.png) ### Clean and compile project from IDE Refres all dependencies and load the project: ![](https://i.imgur.com/RRGnSKH.png) Build the project: ![](https://i.imgur.com/n6KCtl1.png)