Index: eprms-tap/pom.xml
===================================================================
--- eprms-tap/pom.xml	(revision c62104d72336102788026f24f7a9df891ce3a115)
+++ eprms-tap/pom.xml	(revision 1f949f9b6a898c2d94135aaf80b4bae8045b6e3c)
@@ -3,10 +3,9 @@
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xmlns="http://maven.apache.org/POM/4.0.0">
-
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
 		<groupId>org.springframework.boot</groupId>
 		<artifactId>spring-boot-starter-parent</artifactId>
-		<version>2.6.1</version>
+		<version>2.7.18</version>
 		<relativePath />
 	</parent>
@@ -14,5 +13,5 @@
 	<groupId>info.ajanovski.eprms</groupId>
 	<artifactId>eprms-tap</artifactId>
-	<version>0.0.10-SNAPSHOT</version>
+	<version>0.0.12-SNAPSHOT</version>
 	<name>EPRMS - Educational Project and Resource Management System</name>
 
@@ -34,27 +33,31 @@
 
 	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
+		<maven-compiler-version>3.12.1</maven-compiler-version>
+		<maven-surefire-version>3.2.3</maven-surefire-version>
 		<maven.compiler.source>17</maven.compiler.source>
 		<maven.compiler.target>17</maven.compiler.target>
 		<java.version>17</java.version>
 
-		<spring-boot-version>2.6.3</spring-boot-version>
-		<tapestry-version>5.8.3</tapestry-version>
+		<spring-boot-version>2.7.18</spring-boot-version>
+		<tapestry-version>5.8.4</tapestry-version>
 		<tapestry-testify-version>1.0.4</tapestry-testify-version>
 		<tapestry-xpath-version>1.0.1</tapestry-xpath-version>
-
 		<jackson-version>2.13.1</jackson-version>
 		<geb-version>2.3.1</geb-version>
+		<log4j-version>2.22.1</log4j-version>
+		<junit-version>5.10.1</junit-version>
 		<htmlunit-driver-version>2.33.3</htmlunit-driver-version>
 		<json-version>1.1.4</json-version>
 		<selenium-version>3.141.59</selenium-version>
-		<servlet-api-version>3.0.1</servlet-api-version>
 		<spock-version>1.3-groovy-2.5</spock-version>
-		<yasson-version>1.0.9</yasson-version>
-
-		<postgresql-version>42.4.1</postgresql-version>
+		<yasson-version>2.0.4</yasson-version>
+		<servlet-version>4.0.1</servlet-version>
+
+		<postgresql-version>42.7.2</postgresql-version>
 		<cas-client-version>3.6.4</cas-client-version>
 
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 	</properties>
 
@@ -66,5 +69,4 @@
 	</repositories>
 
-
 	<dependencies>
 		<dependency>
@@ -73,5 +75,4 @@
 			<version>0.0.10-SNAPSHOT</version>
 		</dependency>
-
 		<dependency>
 			<groupId>info.ajanovski.eprms</groupId>
@@ -79,5 +80,4 @@
 			<version>0.0.2-SNAPSHOT</version>
 		</dependency>
-
 		<!-- Spring -->
 		<dependency>
@@ -109,16 +109,38 @@
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-log4j2</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-tomcat</artifactId>
 			<scope>provided</scope>
 		</dependency>
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-log4j2</artifactId>
-			<scope>compile</scope>
-		</dependency>
-
 		<!-- Apache Tapestry -->
 		<dependency>
 			<groupId>org.apache.tapestry</groupId>
+			<artifactId>tapestry-core</artifactId>
+			<version>${tapestry-version}</version>
+			<scope>compile</scope>
+		</dependency>
+		<!-- CoffeeScript & Less support, plus resource minification -->
+		<dependency>
+			<groupId>org.apache.tapestry</groupId>
+			<artifactId>tapestry-webresources</artifactId>
+			<version>${tapestry-version}</version>
+			<scope>compile</scope>
+		</dependency>
+		<!-- Uncomment this to add support for spring, hibernate, bean
+		validation and file uploads -->
+		<!--
+        <dependency>
+            <groupId>org.apache.tapestry</groupId>
+            <artifactId>tapestry-spring</artifactId>
+            <version>${tapestry-version}</version>
+            <scope>compile</scope>
+        </dependency>
+		-->
+		<dependency>
+			<groupId>org.apache.tapestry</groupId>
 			<artifactId>tapestry-hibernate</artifactId>
 			<version>${tapestry-version}</version>
@@ -129,11 +151,4 @@
 			<artifactId>tapestry-beanvalidator</artifactId>
 			<version>${tapestry-version}</version>
-		</dependency>
-
-		<!-- CoffeeScript & Less support, plus resource minification -->
-		<dependency>
-			<groupId>org.apache.tapestry</groupId>
-			<artifactId>tapestry-webresources</artifactId>
-			<version>${tapestry-version}</version>
 			<scope>compile</scope>
 		</dependency>
@@ -144,5 +159,4 @@
 			<scope>compile</scope>
 		</dependency>
-
 		<!-- Unit Testing -->
 		<dependency>
@@ -151,69 +165,26 @@
 			<version>${tapestry-version}</version>
 			<scope>test</scope>
-			<exclusions>
-				<exclusion>
-					<groupId>org.testng</groupId>
-					<artifactId>testng</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
-		<dependency>
-			<groupId>net.sourceforge.tapestrytestify</groupId>
-			<artifactId>tapestry-testify</artifactId>
-			<version>${tapestry-testify-version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.junit.jupiter</groupId>
+			<artifactId>junit-jupiter</artifactId>
+			<version>${junit-version}</version>
 			<scope>test</scope>
 		</dependency>
-		<dependency>
-			<groupId>net.sourceforge.tapestryxpath</groupId>
-			<artifactId>tapestry-xpath</artifactId>
-			<version>${tapestry-xpath-version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.spockframework</groupId>
-			<artifactId>spock-core</artifactId>
-			<version>${spock-version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.spockframework</groupId>
-			<artifactId>spock-spring</artifactId>
-			<version>${spock-version}</version>
-			<scope>test</scope>
-		</dependency>
-
-		<!-- Integration Testing -->
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-test</artifactId>
-			<scope>test</scope>
-			<exclusions>
-				<exclusion>
-					<groupId>org.springframework.boot</groupId>
-					<artifactId>spring-boot-starter-logging</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
-		<dependency>
-			<groupId>org.gebish</groupId>
-			<artifactId>geb-spock</artifactId>
-			<version>${geb-version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.seleniumhq.selenium</groupId>
-			<artifactId>selenium-support</artifactId>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.seleniumhq.selenium</groupId>
-			<artifactId>htmlunit-driver</artifactId>
-			<scope>test</scope>
-		</dependency>
-
 		<!-- Miscellaneous -->
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j-version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j-version}</version>
+		</dependency>
 		<dependency>
 			<groupId>org.apache.logging.log4j</groupId>
 			<artifactId>log4j-slf4j-impl</artifactId>
+			<version>${log4j-version}</version>
 		</dependency>
 		<dependency>
@@ -223,42 +194,53 @@
 		</dependency>
 		<dependency>
+			<groupId>com.fasterxml.jackson.core</groupId>
+			<artifactId>jackson-core</artifactId>
+			<version>${jackson-version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.fasterxml.jackson.core</groupId>
+			<artifactId>jackson-databind</artifactId>
+			<version>${jackson-version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.fasterxml.jackson.dataformat</groupId>
+			<artifactId>jackson-dataformat-yaml</artifactId>
+			<version>${jackson-version}</version>
+		</dependency>
+		<dependency>
+			<groupId>javax.servlet</groupId>
+			<artifactId>javax.servlet-api</artifactId>
+			<version>${servlet-version}</version>
+			<scope>provided</scope>
+		</dependency>
+
+		<!-- PostgreSQL is used as the main DBMS engine for this app -->
+		<dependency>
+			<groupId>org.postgresql</groupId>
+			<artifactId>postgresql</artifactId>
+			<version>${postgresql-version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.zaxxer</groupId>
+			<artifactId>HikariCP</artifactId>
+			<version>5.1.0</version>
+		</dependency>
+		<dependency>
+			<groupId>org.hibernate</groupId>
+			<artifactId>hibernate-hikaricp</artifactId>
+			<version>5.6.15.Final</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.jasig.cas.client</groupId>
+			<artifactId>cas-client-core</artifactId>
+			<version>${cas-client-version}</version>
+		</dependency>
+
+		<dependency>
 			<groupId>org.glassfish</groupId>
 			<artifactId>javax.json</artifactId>
 			<version>${json-version}</version>
 		</dependency>
-		<dependency>
-			<groupId>com.fasterxml.jackson.core</groupId>
-			<artifactId>jackson-core</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>com.fasterxml.jackson.core</groupId>
-			<artifactId>jackson-databind</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>com.fasterxml.jackson.dataformat</groupId>
-			<artifactId>jackson-dataformat-yaml</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>com.fasterxml.jackson.core</groupId>
-			<artifactId>jackson-annotations</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>javax.servlet</groupId>
-			<artifactId>javax.servlet-api</artifactId>
-			<version>${servlet-api-version}</version>
-			<scope>provided</scope>
-		</dependency>
-
-		<!-- PostgreSQL is used as the main DBMS engine for this app -->
-		<dependency>
-			<groupId>org.postgresql</groupId>
-			<artifactId>postgresql</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.jasig.cas.client</groupId>
-			<artifactId>cas-client-core</artifactId>
-			<version>${cas-client-version}</version>
-		</dependency>
 
 		<!-- webjars -->
@@ -276,10 +258,10 @@
 			<groupId>org.webjars.npm</groupId>
 			<artifactId>feather-icons</artifactId>
-			<version>4.29.0</version>
+			<version>4.29.1</version>
 		</dependency>
 		<dependency>
 			<groupId>org.webjars</groupId>
 			<artifactId>ckeditor</artifactId>
-			<version>4.17.1</version>
+			<version>4.19.0</version>
 		</dependency>
 		<dependency>
@@ -353,4 +335,54 @@
 		<plugins>
 			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-enforcer-plugin</artifactId>
+				<version>3.0.0</version>
+				<executions>
+					<execution>
+						<id>enforce-maven</id>
+						<goals>
+							<goal>enforce</goal>
+						</goals>
+						<configuration>
+							<rules>
+								<requireMavenVersion>
+									<version>3.5.0</version>
+								</requireMavenVersion>
+							</rules>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<version>${maven-compiler-version}</version>
+				<configuration>
+					<release>${java.version}</release>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-surefire-plugin</artifactId>
+				<version>${maven-surefire-version}</version>
+				<configuration>
+					<systemPropertyVariables>
+						<propertyName>firefox</propertyName>
+					</systemPropertyVariables>
+				</configuration>
+				<dependencies>
+					<dependency>
+						<groupId>org.apache.maven.surefire</groupId>
+						<artifactId>surefire-junit-platform</artifactId>
+						<version>${maven-surefire-version}</version>
+					</dependency>
+					<dependency>
+						<groupId>org.apache.maven.surefire</groupId>
+						<artifactId>surefire-testng</artifactId>
+						<version>${maven-surefire-version}</version>
+					</dependency>
+				</dependencies>
+			</plugin>
+			<plugin>
 				<groupId>org.springframework.boot</groupId>
 				<artifactId>spring-boot-maven-plugin</artifactId>
@@ -361,6 +393,4 @@
 				<version>2.6</version>
 			</plugin>
-
-
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
