Skip to content

Local Setup

Joshua Baskaran edited this page Jan 16, 2024 · 6 revisions

Setting Up Local Deployment for the FEGA-Norway Project

Welcome to the setup guide for local deployment on the FEGA-Norway project. This comprehensive guide is tailored to assist both new and experienced developers in establishing a robust development environment. Our goal is to facilitate a seamless and efficient setup process for you.

Prerequisites

Before you begin, it's crucial to have the following tools and languages installed on your system:

  1. Java 21: The primary programming language used in the project.
  2. Go 1.21: Essential for working with specific GoLang modules.
  3. Docker: A key tool for creating isolated environments and running various services.

Recommended Development Tools

These tools are not mandatory but can significantly enhance your development experience:

  1. Gradle CLI: A powerful tool for managing compilation and build processes.
  2. IntelliJ IDE (or alternatives): While IntelliJ is highly recommended for Java development, alternatives like VSCode, Emacs, or NeoVim can also be effective. The choice of IDE is a matter of personal preference and workflow compatibility. The Gradle build tool ensures a consistent build process regardless of the IDE used.

Detailed Java Installation Guide

Linux

  • We primarily use the Temurin variant of the JDK. However, other JDK variants from different vendors should work similarly.
  • Installation instructions for Temurin can be found here.

MacOS

  • Most JDK vendors provide easy-to-use installers for macOS.
  • For Homebrew users, install the latest JDK using:
    brew install --cask temurin

Alternatively, MacPorts or direct installer downloads from JDK vendors are also viable options.

Windows

  • Windows users can download JDK installers directly from vendor websites.
  • For WSL (Windows Subsystem for Linux) users, follow the Linux installation instructions. Tip: Tools like asdf and SDKMan! are excellent for managing multiple Java versions. Their documentation offers detailed installation and usage instructions.

Setting Up Go

Follow the official Go installation guide, which provides detailed instructions for all operating systems. You can find it here.

Docker and Docker-Compose

While Docker isn't required for building the monorepo, it's essential for orchestrating the microservices. Find comprehensive installation guides for Docker tailored to your operating system and architecture here.

Clone this wiki locally