From d5a51d5a854903ebadb7f5b7f7e2ed1bd5d66ecb Mon Sep 17 00:00:00 2001
From: Alexandre Vandekerkhove <a.vandekerkhove@gmail.com>
Date: Tue, 3 Nov 2020 09:15:38 +0100
Subject: [PATCH] Initial commit

---
 README.md                                     |   3 +
 kanban.jpg                                    | Bin 0 -> 39152 bytes
 pom.xml                                       |  55 ++++++++++++++++++
 .../challenge/kanban/KanbanApplication.java   |  13 +++++
 .../ippon/challenge/kanban/domain/Task.java   |  15 +++++
 .../kanban/http/api/TaskController.java       |  14 +++++
 src/main/resources/application.yml            |   0
 .../kanban/KanbanApplicationTests.java        |  13 +++++
 8 files changed, 113 insertions(+)
 create mode 100644 kanban.jpg
 create mode 100644 pom.xml
 create mode 100644 src/main/java/fr/lille/ippon/challenge/kanban/KanbanApplication.java
 create mode 100644 src/main/java/fr/lille/ippon/challenge/kanban/domain/Task.java
 create mode 100644 src/main/java/fr/lille/ippon/challenge/kanban/http/api/TaskController.java
 create mode 100644 src/main/resources/application.yml
 create mode 100644 src/test/java/fr/lille/ippon/challenge/kanban/KanbanApplicationTests.java

diff --git a/README.md b/README.md
index 370f6f7..6a70d03 100644
--- a/README.md
+++ b/README.md
@@ -25,3 +25,6 @@ Produis le code comme si tu le faisais "en vrai", sauf qu'on se concentre sur le
 
 ### Que faire si j'ai oublié la syntaxe ?
 Pour information, tu as le droit d'utiliser tous les outils que tu veux : Javadoc, Documentation en ligne, StackOverflow, Google... fais en bon usage.
+
+## Prérequis
+Java 11 et Maven.
diff --git a/kanban.jpg b/kanban.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0d09c33ea0ed001f6cfb42c0bc867f168216c3cf
GIT binary patch
literal 39152
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
Ko9Tt3wf;ZDC3Qsr

literal 0
HcmV?d00001

diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..481f502
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,55 @@
+<?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>2.3.5.RELEASE</version>
+		<relativePath/> <!-- lookup parent from repository -->
+	</parent>
+	<groupId>fr.lille.ippon.recrutement</groupId>
+	<artifactId>kanban-java-spring</artifactId>
+	<version>0.0.1-SNAPSHOT</version>
+	<name>kanban-java-spring</name>
+	<description>Exercice d'implementation d'un kanban</description>
+
+	<properties>
+		<java.version>11</java.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-devtools</artifactId>
+			<scope>runtime</scope>
+			<optional>true</optional>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-test</artifactId>
+			<scope>test</scope>
+			<exclusions>
+				<exclusion>
+					<groupId>org.junit.vintage</groupId>
+					<artifactId>junit-vintage-engine</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.springframework.boot</groupId>
+				<artifactId>spring-boot-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+
+</project>
diff --git a/src/main/java/fr/lille/ippon/challenge/kanban/KanbanApplication.java b/src/main/java/fr/lille/ippon/challenge/kanban/KanbanApplication.java
new file mode 100644
index 0000000..7fafa0a
--- /dev/null
+++ b/src/main/java/fr/lille/ippon/challenge/kanban/KanbanApplication.java
@@ -0,0 +1,13 @@
+package fr.lille.ippon.challenge.kanban;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class KanbanApplication {
+
+	public static void main(String[] args) {
+		SpringApplication.run(KanbanApplication.class, args);
+	}
+
+}
diff --git a/src/main/java/fr/lille/ippon/challenge/kanban/domain/Task.java b/src/main/java/fr/lille/ippon/challenge/kanban/domain/Task.java
new file mode 100644
index 0000000..1c7304d
--- /dev/null
+++ b/src/main/java/fr/lille/ippon/challenge/kanban/domain/Task.java
@@ -0,0 +1,15 @@
+package fr.lille.ippon.challenge.kanban.domain;
+
+public class Task {
+
+    private String title;
+
+    public Task(String title) {
+        this.title = title;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+    
+}
diff --git a/src/main/java/fr/lille/ippon/challenge/kanban/http/api/TaskController.java b/src/main/java/fr/lille/ippon/challenge/kanban/http/api/TaskController.java
new file mode 100644
index 0000000..e3a9ede
--- /dev/null
+++ b/src/main/java/fr/lille/ippon/challenge/kanban/http/api/TaskController.java
@@ -0,0 +1,14 @@
+package fr.lille.ippon.challenge.kanban.http.api;
+
+import java.util.List;
+
+import fr.lille.ippon.challenge.kanban.domain.Task;
+
+public class TaskController {
+
+    public List<Task> getTasks() {
+        // TODO faire fonctionner. Refactorer ?
+        return List.of(new Task("my first task"));
+    }
+    
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
new file mode 100644
index 0000000..e69de29
diff --git a/src/test/java/fr/lille/ippon/challenge/kanban/KanbanApplicationTests.java b/src/test/java/fr/lille/ippon/challenge/kanban/KanbanApplicationTests.java
new file mode 100644
index 0000000..175a116
--- /dev/null
+++ b/src/test/java/fr/lille/ippon/challenge/kanban/KanbanApplicationTests.java
@@ -0,0 +1,13 @@
+package fr.lille.ippon.challenge.kanban;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class KanbanApplicationTests {
+
+	@Test
+	void contextLoads() {
+	}
+
+}
-- 
GitLab