diff --git a/helpapp-backend/user-service/src/main/java/insa/application/helpapp/rest/UserServiceApplication.java b/helpapp-backend/user-service/src/main/java/insa/application/helpapp/rest/UserServiceApplication.java
index 0936abb..e28966f 100644
--- a/helpapp-backend/user-service/src/main/java/insa/application/helpapp/rest/UserServiceApplication.java
+++ b/helpapp-backend/user-service/src/main/java/insa/application/helpapp/rest/UserServiceApplication.java
@@ -3,6 +3,9 @@ package insa.application.helpapp.rest;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.*;
+import org.springframework.context.annotation.Bean;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.*;
import java.util.concurrent.atomic.AtomicLong;
@@ -19,6 +22,18 @@ public class UserServiceApplication {
SpringApplication.run(UserServiceApplication.class, args);
}
+ @Bean
+ public WebMvcConfigurer corsConfigurer() {
+ return new WebMvcConfigurer() {
+ @Override
+ public void addCorsMappings(CorsRegistry registry) {
+ registry.addMapping("/**").allowedOrigins("*")
+ .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
+ .allowedHeaders("*");
+ }
+ };
+ }
+
// Create a new user
@PostMapping
public User createUser(@RequestBody User user) {
diff --git a/helpapp-frontend/index.html b/helpapp-frontend/index.html
new file mode 100644
index 0000000..127956a
--- /dev/null
+++ b/helpapp-frontend/index.html
@@ -0,0 +1,97 @@
+
+
+
+
+
+ HelpApp
+
+
+
+
+
+
+ Créer un compte utilisateur
+
+
+
+
+
+ Créer une demande d'aide
+
+
+
+
+
+ Voir les demandes d'aide
+
+
+
+
+
+
+
+
diff --git a/helpapp-frontend/script.js b/helpapp-frontend/script.js
new file mode 100644
index 0000000..2da4fbf
--- /dev/null
+++ b/helpapp-frontend/script.js
@@ -0,0 +1,69 @@
+const API_BASE = "http://localhost";
+
+document.addEventListener("DOMContentLoaded", () => {
+ // User Registration
+ const registerForm = document.getElementById("register-form");
+ const registerResponse = document.getElementById("register-response");
+
+ registerForm.addEventListener("submit", async (e) => {
+ e.preventDefault();
+ const name = document.getElementById("name").value;
+ const email = document.getElementById("email").value;
+ const password = document.getElementById("password").value;
+ const role = document.getElementById("role").value;
+
+ try {
+ const response = await fetch(`${API_BASE}:8083/users`, {
+ method: "POST",
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify({ name, email, password, role }),
+ });
+ const result = await response.json();
+ registerResponse.textContent = `Utilisateur créé : ID ${result.id}`;
+ } catch (error) {
+ registerResponse.textContent = "Erreur lors de la création de l'utilisateur.";
+ }
+ });
+
+ // Create Help Request
+ const requestForm = document.getElementById("request-form");
+ const requestResponse = document.getElementById("request-response");
+
+ requestForm.addEventListener("submit", async (e) => {
+ e.preventDefault();
+ const userId = document.getElementById("user-id").value;
+ const details = document.getElementById("details").value;
+
+ try {
+ const response = await fetch(`${API_BASE}:8082/requests`, {
+ method: "POST",
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify({ userId, details }),
+ });
+ const result = await response.json();
+ requestResponse.textContent = `Demande créée : ID ${result.id}`;
+ } catch (error) {
+ requestResponse.textContent = "Erreur lors de la création de la demande.";
+ }
+ });
+
+ // Fetch Help Requests
+ const fetchRequestsButton = document.getElementById("fetch-requests");
+ const requestList = document.getElementById("request-list");
+
+ fetchRequestsButton.addEventListener("click", async () => {
+ try {
+ const response = await fetch(`${API_BASE}:8082/requests`);
+ const requests = await response.json();
+
+ requestList.innerHTML = ""; // Clear existing list
+ requests.forEach((req) => {
+ const li = document.createElement("li");
+ li.textContent = `ID: ${req.id}, Détails: ${req.details}, Statut: ${req.status}`;
+ requestList.appendChild(li);
+ });
+ } catch (error) {
+ requestList.innerHTML = "Erreur lors de la récupération des demandes.";
+ }
+ });
+});