Operating System
To develop a full stack app you naturally need a computer to develop on. The computer you are using most likely came with a pre-installed operating system, such as Windows, macOS or Linux. You may continue to use the pre-installed operating system or replace it with an alternative operating system. You may also install multiple operating systems side by side on the same computer.
Linux
Linux is the most widely used operating system on servers. Since you are developing a full stack app, it makes sense to have a similar environment on your server as on your development machine. This makes local testing easier and closer to the real production setup. For this reason Linux is the recommended operating system to use when following this guide. However this guide can also be followed when using Windows or macOS, you might have to adjust the steps a little as the instructions in this guide are specific to Linux. However most of the instructions are platform agnostic.
Distribution
A Linux distribution is the Linux kernel bundled together with other software, such as a package manager and desktop environment. A good website to check which distributions are available is DistroWatch.
Epic Fantasy Forge is developed on Fedora KDE Plasma Desktop. Fedora Linux strives to have the latest software and technologies. It is the upstream source of Red Hat Enterprise Linux. Fedora Linux has a relatively short support cycle of a little over one year. So if you choose this distribution you need to perform regular upgrades of your operating system.
Fedora KDE Plasma Desktop is the recommended Linux distribution when following this guide. This guide can naturally also be followed using other Linux distributions but you might need to adjust the steps slightly. For example, Fedora Linux uses the DNF package manager whilst a lot of other popular Linux distributions use the APT package manager. So when following instructions in this guide to install a package, you may have to run:
sudo apt install <package>
sudo dnf install <package>
Installation
Warning
Installing an operating system when unsure what you are doing can result in an unbootable computer and/or data loss. If you are unsure it might be safer to install the operating system in a virtualized environment rather than a physical machine.
To install Fedora KDE Plasma Desktop, follow the Fedora Getting Started guide.
Multi-booting
You can install multiple operating systems on the same physical machine. When the computer boots, you then get to select which operating system to boot. A bootloader handles the booting of the selected operating system and provides the interactive menu that allows you to select which operating system to boot. Grub is a popular bootloader that comes with Fedora Linux and many other Linux distributions.
To install multiple operating systems on the same computer, you need to either have multiple storage devices or multiple partitions on a single storage device, or a combination of both.
Tip
Installing the operating systems on separate physical disks rather than on separate partitions on the same disk is the preferred option. It is a bit more robust. Sometimes updates of one operating system can corrupt a multi-boot setup if the updated operating system and the alternative operating system are sharing the same disk.
Personally I dual-boot Windows 11 and Fedora Linux. Both operating systems are installed on separate physical disks. I use Windows 11 for gaming and Fedora Linux for development.
Virtualization
A safer way to install an operating system is to use virtualization. Virtualization simulates a computer within a computer. To run a virtual machine you need something called a hypervisor. This is the software the simulates the virtual computer. For beginners, VirtualBox is a good option. For advanced users QEMU is also a good option.
An alternative to running a virtual machine on your local computer is to use your web browser to access a virtual machine running remotely. Instant Workstation is a service that allows you to use virtual machines from your web browser. For transparency, I am the creator of Instant Workstation.
Desktop Environment
The desktop environment is the GUI shell of your operating system. By default Fedora Linux comes with the GNOME desktop environment. GNOME appears to be more suited towards mobile devices rather than desktop development machines. For this reason the KDE Plasma spin of Fedora Linux is the recommended desktop environment when following this guide.
Dark Mode
Optionally you can configure your desktop environment to be in dark mode. Personally I prefer dark mode since in my opinion it looks better and is also arguably less tiring to look at for longer periods of time. However light mode vs dark mode is down to personal preference.
To configure KDE to use dark mode go to System Settings and enable the Breeze Dark theme:
Here is a screenshot of the desktop environment used to develop Epic Fantasy Forge:
Tip
It is recommended to use the desktop environment that ships with your distribution. For example, if you wish to use KDE with Fedora Linux, then use the official KDE Plasma spin of Fedora rather than retro-actively installing KDE alongside GNOME in the default Fedora Linux. Doing so is more clean and robust. However if you do want to switch your desktop environment on an already installed system then the guide switching desktop environments can be followed.