Follow these instructions to install, build, and verify the backend system.
System Requirements
To operate the backend system, you must have one of the following:
A 64-bit Mac OS (Intel or ARM)
A 64-bit Linux machine (Ubuntu or Debian)
Prerequisites
I. Update the Environment
Open a Terminal window; if using Linux or Mac.
If you are using Linux, make sure your environment system packages are up to date.
sudo apt update
sudo apt upgrade
II. Install Java 17
Install the OpenJDK package. Mac:
Go to https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html. Download the kit based on your system requirements. Install the JDK.
Linux:
sudo apt install -y openjdk-17-jdk-headless unzip
Verify that you have successfully installed version 17.
java -version
Make sure it is:
java version "17.0.8" 2023-07-18 LTS Java(TM) SE Runtime Environment (build 17.0.8+9-LTS-211) Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+9-LTS-211, mixed mode, sharing)
The folder in which you cloned the backend-system will be referred to as <install_path> within this document.
V. Firebase Service
If you do not have an account, create a Firebase account and a project with default settings by visiting: Firebase (google.com)
Go to the [Firebase console](Firebase console) and select your project.
Click on the gear icon in the top left corner to access your project settings.
Click on the Service accounts tab.
Click the Generate new private key button to generate a new service account key file (we used Node.js on our Mac test).
NOTE: You don't need to follow any further instructions on Firebase at this point - all you had to do was generate the key.
Return to the terminal and create a Firebase service-account-key.json file.
cd backend-system/platform
touch service-account-key.json
Update the service-account-key.json file with the private key generated in step 5 so service-account-key.json looks like the key you created/downloaded from Firebase.
.gitignore this service-account-key.json file as it includes sensitive info about your Firebase account.
If you don't want to use our provided sample database, following the Configuring the Database page instructions if you want to connect to the running Postgres container.
(Optional) Update PostgreSQL root user password and SMTP relay server host, username, port, and password. We use SMTP service to send account invitation/activation/password reset emails.
Compile and package the backend-related microservices:
Mac & Linux:
./gradlew clean
./gradlew build -x detekt
Manage Your Cookies
We use cookies to improve your experience on our website and to show you relevant
advertising. Manage you settings for our cookies below.
Essential Cookies
These cookies are essential as they enable you to move around the website. This
category cannot be disabled.
Company
Domain
Samsung Electronics
.samsungdeveloperconference.com
Analytical/Performance Cookies
These cookies collect information about how you use our website. for example which
pages you visit most often. All information these cookies collect is used to improve
how the website works.
Company
Domain
LinkedIn
.linkedin.com
Meta (formerly Facebook)
.samsungdeveloperconference.com
Google Inc.
.samsungdeveloperconference.com
Functionality Cookies
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and
tailor the website to provide enhanced features and content for you.
Company
Domain
LinkedIn
.ads.linkedin.com, .linkedin.com
Advertising Cookies
These cookies gather information about your browser habits. They remember that
you've visited our website and share this information with other organizations such
as advertisers.
Company
Domain
LinkedIn
.linkedin.com
Meta (formerly Facebook)
.samsungdeveloperconference.com
Google Inc.
.samsungdeveloperconference.com
Preferences Submitted
You have successfully updated your cookie preferences.