Skip to content

Development Environment

Tom Udding edited this page Jul 20, 2021 · 19 revisions

To prepare the development environment, you will first need to choose how to deploy your application:

  • If you use windows, you are recommended to make use of WSL2 and run Docker 'natively' on Linux (faster).
  • If you cannot use WSL2 on Windows, you are recommended to make use of a Virtual Machine running Linux (fast).
  • On native Linux you will get the best performance and support for tooling (fastest).

Minimum required tools:

  • apt

And after installation:

  • docker
  • docker-compose
  • git

Windows (WSL2)

  1. Install Ubuntu on WSL2 as described here.
  2. Follow the steps under Linux.

As WSL does currently not provide support for GUIs you may want to use Windows applications to edit the files. WSL exposes its files to Windows under \\wsl$\Ubuntu\ (a network location), which you can easily specify in PhpStorm or your preferred IDE.

It is also possible to use Docker for Windows, however, this comes with a severe performance hit and is not recommended.

Windows (Virtual Machine)

  1. Install VirtualBox on your device. You can also use Hyper-V or an other alternative if you know how to use it.
  2. Download an .iso image for Ubuntu or your favorite Linux distribution of choice.
  3. Create a new Virtual Machine using the image you downloaded.

You can now follow the rest of the steps under Linux.

Linux

Assuming you use Ubuntu, the steps are as follows:

  1. Install Docker Engine for Ubuntu as described here.
  2. Install Docker Compose for Linux as described here.
  3. Enable Docker BuildKit for better performance while building images as described here (the second permanent option is preferred).
  4. Clone this repository: git clone [email protected]:gewis/gewisweb.git *.

The Docker daemon is not always active on a fresh startup, you can enable it via sudo service docker start.

*: It is recommended you use SSH keys to connect to GitHub, read more about how to use SSH keys with GitHub here.

If you use any other Linux distribution, we trust you know how to use it.

Further Installation Steps

To actually use the website you have to build the Docker container(s), see the Docker Deployment page for more details on how to do this. Afterwards, you should be able to access the website through http://localhost.

For editing project files, a good IDE is very helpful as it can provide hints while typing.

We recommend to use PhpStorm as an IDE and note that you are able to get a free professional license using your @student.tue.nl email address. You will need to renew this license yearly.

If you are unfamiliar with Git, you can use GitKraken or any other Git client which provides an easy-to-use user interface.

To get an optimal development experience, you can install additional tools that can aid the process. Read more about that on the Development aids page.