/guestbook

Guestbook sample Java web-application

Primary LanguageJava

A Sample Java Web-Application

Build Status

Purpose of this sample project is to make students familiar with basic technologies they’re going to use during the Software Engineering Lab at Technical University of Dresden.

Quickstart

Using GitPod

GitPod is a cloud IDE that allows you to work with a project right from your browser:

  1. Click this link to open the project in GitPod.

  2. Wait for the build to finish (see progress in the console view).

  3. Once the website opens in the embedded preview browser, the project is ready to be worked with.

Local machine

Note
Working on your local machine requires Java 11, and a recent Git (2.21 or better preferred) to be available on your machine. If you miss any of those go through the steps described in Prerequisites. Also, note that you have to run mvnw.cmd instead of ./mvnw if you run Windows by accident.
$ git clone https://github.com/st-tu-dresden/guestbook
$ cd guestbook
$ ./mvnw clean package
$ ./mvnw spring-boot:run

After that point your browser to http://localhost:8080. Note that Spring Boot creates a default user user with a random password printed to the console when the application starts, as described in the Spring Boot reference docs.

Prerequisites

Java 11

Download the binaries, install. Make sure the console shows something like this:

$ java -version
openjdk version "11.0.9" 2020-10-20
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9+11)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9+11, mixed mode)

Make sure that Maven picks up the same JDK version:

$ ./mvnw --version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /Users/JavaJoe/.m2/wrapper/dists/apache-maven-3.6.3-bin/1iopthnavndlasol9gbrbg6bf2/apache-maven-3.6.3
Java version: 11.0.9, vendor: AdoptOpenJDK, runtime: /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
Default locale: de_DE, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.7", arch: "x86_64", family: "mac"

Git

Download the binaries, run the installer. Verify the command line shows something like this after install:

$ git --version
git version 2.29.1

IDE Setup

Grab the latest STS (Spring Tool Suite, plain Eclipse or IntelliJ should work as well), run installer or unzip and run it.

Select File  Import, select Maven  Existing Maven Projects, select the folder you checked the project out into and hit Finish. This will import the project into your workspace.

In the Console view you might wanna click the Open Console button and select Maven Console to see that Maven is downloading dependencies, sources and Javadocs.

Technology stack

This sample application is build on top of the following technologies:

Spring Boot

Rapid application development framework based on Spring (see below).

Spring Framework

The de-facto standard Java application framework.

Spring Data JPA

Spring module to easily build data acess layers using JPA 2.2 (Java Persistence API).

Thymeleaf

Library to build HTML web views using natural templating.