aboutsummaryrefslogtreecommitdiff
path: root/ufund-api
diff options
context:
space:
mode:
Diffstat (limited to 'ufund-api')
-rw-r--r--ufund-api/.gitignore32
-rw-r--r--ufund-api/HELP.md22
-rw-r--r--ufund-api/pom.xml155
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/UfundApiApplication.java13
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/WebConfig.java16
-rw-r--r--ufund-api/src/main/resources/application.properties1
-rw-r--r--ufund-api/src/test/java/com/ufund/api/ufundapi/UfundApiApplicationTests.java13
7 files changed, 252 insertions, 0 deletions
diff --git a/ufund-api/.gitignore b/ufund-api/.gitignore
new file mode 100644
index 0000000..7ed0d6b
--- /dev/null
+++ b/ufund-api/.gitignore
@@ -0,0 +1,32 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
diff --git a/ufund-api/HELP.md b/ufund-api/HELP.md
new file mode 100644
index 0000000..f110fea
--- /dev/null
+++ b/ufund-api/HELP.md
@@ -0,0 +1,22 @@
+# Read Me First
+The following was discovered as part of building this project:
+
+* The original package name 'com.ufund.api.ufund-api' is invalid and this project uses 'com.ufund.api.ufundapi' instead.
+
+# Getting Started
+
+### Reference Documentation
+For further reference, please consider the following sections:
+
+* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html)
+* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.6.2/maven-plugin/reference/html/)
+* [Create an OCI image](https://docs.spring.io/spring-boot/docs/2.6.2/maven-plugin/reference/html/#build-image)
+* [Spring Web](https://docs.spring.io/spring-boot/docs/2.6.2/reference/htmlsingle/#boot-features-developing-web-applications)
+
+### Guides
+The following guides illustrate how to use some features concretely:
+
+* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/)
+* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/)
+* [Building REST services with Spring](https://spring.io/guides/tutorials/bookmarks/)
+
diff --git a/ufund-api/pom.xml b/ufund-api/pom.xml
new file mode 100644
index 0000000..ce96d60
--- /dev/null
+++ b/ufund-api/pom.xml
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-parent</artifactId>
+ <version>3.4.2</version>
+ <relativePath /> <!-- lookup parent from repository -->
+ </parent>
+ <groupId>com.ufund.api</groupId>
+ <artifactId>ufund-api</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <name>ufund-api</name>
+ <description>API for U-Fund</description>
+ <properties>
+ <java.version>21</java.version>
+ <jacoco.version>0.8.11</jacoco.version>
+ <exec.maven.version>3.5.0</exec.maven.version>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>${exec.maven.version}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>java</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>tests-and-coverage</id>
+ <configuration>
+ <executable>mvn</executable>
+ <arguments>
+ <argument>clean</argument>
+ <argument>test-compile</argument>
+ <argument>surefire:test@controller</argument>
+ <argument>jacoco:report@controller</argument>
+ <argument>surefire:test@model</argument>
+ <argument>jacoco:report@model</argument>
+ <argument>surefire:test@persistence</argument>
+ <argument>jacoco:report@persistence</argument>
+ </arguments>
+ </configuration>
+ </execution>
+ </executions>
+ <configuration>
+ <mainClass>com.ufund.api.ufundapi.UfundApiApplication</mainClass>
+ <arguments></arguments>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco.version}</version>
+ <configuration>
+ <destfile>/target/coverage-reports/jacoco-unit.exec</destfile>
+ <datafile>/target/coverage-reports/jacoco-unit.exec</datafile>
+ </configuration>
+ <executions>
+ <execution>
+ <id>jacoco-initialize</id>
+ <configuration>
+ <!-- throw away the old data with each test run -->
+ <append>false</append>
+ </configuration>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ </execution>
+ <!-- attached to Maven test phase -->
+ <execution>
+ <id>report</id>
+ <phase>test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>controller</id>
+ <configuration>
+ <footer>Controller Tier</footer>
+ <title>U-Fund API Controller Tier Test Coverage</title>
+ <outputDirectory>target/site/jacoco/controller</outputDirectory>
+ </configuration>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>persistence</id>
+ <configuration>
+ <footer>Persistence Tier</footer>
+ <title>U-Fund API Persistence Tier Test Coverage</title>
+ <outputDirectory>target/site/jacoco/persistence</outputDirectory>
+ </configuration>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>model</id>
+ <configuration>
+ <footer>Model Tier</footer>
+ <title>U-Fund API Model Tier Test Coverage</title>
+ <outputDirectory>target/site/jacoco/model</outputDirectory>
+ </configuration>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>jacoco-check</id>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <rule>
+ <element>BUNDLE</element>
+ <limits>
+ <limit>
+ <counter>INSTRUCTION</counter>
+ <value>COVEREDRATIO</value>
+ <minimum>0.90</minimum>
+ </limit>
+ </limits>
+ </rule>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/UfundApiApplication.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/UfundApiApplication.java
new file mode 100644
index 0000000..6e263d5
--- /dev/null
+++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/UfundApiApplication.java
@@ -0,0 +1,13 @@
+package com.ufund.api.ufundapi;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class UfundApiApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(UfundApiApplication.class, args);
+ }
+
+}
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/WebConfig.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/WebConfig.java
new file mode 100644
index 0000000..7d7bfa0
--- /dev/null
+++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/WebConfig.java
@@ -0,0 +1,16 @@
+package com.ufund.api.ufundapi;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.EnableWebMvc;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+@EnableWebMvc
+public class WebConfig implements WebMvcConfigurer {
+
+ @Override
+ public void addCorsMappings(CorsRegistry registry) {
+ registry.addMapping("/**")
+ .allowedMethods("HEAD", "GET", "PUT", "POST", "DELETE", "PATCH");
+ }
+} \ No newline at end of file
diff --git a/ufund-api/src/main/resources/application.properties b/ufund-api/src/main/resources/application.properties
new file mode 100644
index 0000000..3e7fc8a
--- /dev/null
+++ b/ufund-api/src/main/resources/application.properties
@@ -0,0 +1 @@
+server.error.include-message=always
diff --git a/ufund-api/src/test/java/com/ufund/api/ufundapi/UfundApiApplicationTests.java b/ufund-api/src/test/java/com/ufund/api/ufundapi/UfundApiApplicationTests.java
new file mode 100644
index 0000000..fc7eda8
--- /dev/null
+++ b/ufund-api/src/test/java/com/ufund/api/ufundapi/UfundApiApplicationTests.java
@@ -0,0 +1,13 @@
+package com.ufund.api.ufundapi;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class UfundApiApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}