Sprint 1 done
This commit is contained in:
commit
0245b5bbc0
10 changed files with 372 additions and 0 deletions
40
.classpath
Normal file
40
.classpath
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src/main/java">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
<attribute name="optional" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
<attribute name="test" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
<attribute name="test" value="true"/>
|
||||
<attribute name="optional" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/target/
|
23
.project
Normal file
23
.project
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>projet-maven</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
8
.settings/org.eclipse.jdt.core.prefs
Normal file
8
.settings/org.eclipse.jdt.core.prefs
Normal file
|
@ -0,0 +1,8 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
|
||||
org.eclipse.jdt.core.compiler.release=disabled
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
4
.settings/org.eclipse.m2e.core.prefs
Normal file
4
.settings/org.eclipse.m2e.core.prefs
Normal file
|
@ -0,0 +1,4 @@
|
|||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
20
pom.xml
Normal file
20
pom.xml
Normal file
|
@ -0,0 +1,20 @@
|
|||
<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>
|
||||
|
||||
<groupId>com.example</groupId>
|
||||
<artifactId>AidePersonnesApp</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
|
||||
<dependencies>
|
||||
<!-- Dépendance pour MySQL Connector -->
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>8.0.28</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
108
src/main/java/controller/AjoutUtilisateur.java
Normal file
108
src/main/java/controller/AjoutUtilisateur.java
Normal file
|
@ -0,0 +1,108 @@
|
|||
package controller;
|
||||
|
||||
import database.DatabaseConnection;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.SQLException;
|
||||
|
||||
public class AjoutUtilisateur extends JFrame {
|
||||
private JTextField nomField;
|
||||
private JTextField emailField;
|
||||
private JComboBox<String> typeComboBox;
|
||||
private JButton ajouterButton;
|
||||
private JButton retourAccueilButton;
|
||||
|
||||
public AjoutUtilisateur() {
|
||||
setTitle("Ajouter un utilisateur");
|
||||
setSize(400, 300);
|
||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
setLocationRelativeTo(null);
|
||||
setLayout(new GridBagLayout());
|
||||
|
||||
GridBagConstraints gbc = new GridBagConstraints();
|
||||
gbc.insets = new Insets(10, 10, 10, 10);
|
||||
gbc.fill = GridBagConstraints.HORIZONTAL;
|
||||
|
||||
JLabel nomLabel = new JLabel("Nom :");
|
||||
gbc.gridx = 0;
|
||||
gbc.gridy = 0;
|
||||
add(nomLabel, gbc);
|
||||
|
||||
nomField = new JTextField();
|
||||
gbc.gridx = 1;
|
||||
gbc.gridy = 0;
|
||||
gbc.gridwidth = 2;
|
||||
add(nomField, gbc);
|
||||
|
||||
JLabel emailLabel = new JLabel("Email :");
|
||||
gbc.gridx = 0;
|
||||
gbc.gridy = 1;
|
||||
add(emailLabel, gbc);
|
||||
|
||||
emailField = new JTextField();
|
||||
gbc.gridx = 1;
|
||||
gbc.gridy = 1;
|
||||
gbc.gridwidth = 2;
|
||||
add(emailField, gbc);
|
||||
|
||||
JLabel typeLabel = new JLabel("Type d'utilisateur :");
|
||||
gbc.gridx = 0;
|
||||
gbc.gridy = 2;
|
||||
add(typeLabel, gbc);
|
||||
|
||||
typeComboBox = new JComboBox<>(new String[]{"benevole", "personne_besoin", "validateur"});
|
||||
gbc.gridx = 1;
|
||||
gbc.gridy = 2;
|
||||
gbc.gridwidth = 2;
|
||||
add(typeComboBox, gbc);
|
||||
|
||||
ajouterButton = new JButton("Ajouter");
|
||||
gbc.gridx = 1;
|
||||
gbc.gridy = 3;
|
||||
add(ajouterButton, gbc);
|
||||
|
||||
retourAccueilButton = new JButton("Retour à l'accueil");
|
||||
gbc.gridx = 1;
|
||||
gbc.gridy = 4;
|
||||
add(retourAccueilButton, gbc);
|
||||
|
||||
ajouterButton.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
ajouterUtilisateur();
|
||||
}
|
||||
});
|
||||
|
||||
retourAccueilButton.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
MainMenu menu = new MainMenu();
|
||||
menu.setVisible(true);
|
||||
dispose();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void ajouterUtilisateur() {
|
||||
String nom = nomField.getText();
|
||||
String email = emailField.getText();
|
||||
String typeUtilisateur = (String) typeComboBox.getSelectedItem();
|
||||
|
||||
try (Connection connection = DatabaseConnection.getConnection()) {
|
||||
String sql = "INSERT INTO utilisateurs (nom, email, type_utilisateur) VALUES (?, ?, ?)";
|
||||
PreparedStatement statement = connection.prepareStatement(sql);
|
||||
statement.setString(1, nom);
|
||||
statement.setString(2, email);
|
||||
statement.setString(3, typeUtilisateur);
|
||||
statement.executeUpdate();
|
||||
JOptionPane.showMessageDialog(this, "Utilisateur ajouté avec succès !");
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
56
src/main/java/controller/MainMenu.java
Normal file
56
src/main/java/controller/MainMenu.java
Normal file
|
@ -0,0 +1,56 @@
|
|||
package controller;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
public class MainMenu extends JFrame {
|
||||
private JButton ajouterUtilisateurButton;
|
||||
private JButton soumettreDemandeButton;
|
||||
|
||||
public MainMenu() {
|
||||
setTitle("Menu Principal");
|
||||
setSize(400, 300);
|
||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
setLocationRelativeTo(null);
|
||||
setLayout(new GridBagLayout());
|
||||
|
||||
GridBagConstraints gbc = new GridBagConstraints();
|
||||
gbc.insets = new Insets(10, 10, 10, 10);
|
||||
gbc.fill = GridBagConstraints.HORIZONTAL;
|
||||
|
||||
ajouterUtilisateurButton = new JButton("Ajouter un utilisateur");
|
||||
gbc.gridx = 0;
|
||||
gbc.gridy = 0;
|
||||
add(ajouterUtilisateurButton, gbc);
|
||||
|
||||
soumettreDemandeButton = new JButton("Soumettre une demande d'aide");
|
||||
gbc.gridx = 0;
|
||||
gbc.gridy = 1;
|
||||
add(soumettreDemandeButton, gbc);
|
||||
|
||||
ajouterUtilisateurButton.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
AjoutUtilisateur ajoutUtilisateur = new AjoutUtilisateur();
|
||||
ajoutUtilisateur.setVisible(true);
|
||||
dispose();
|
||||
}
|
||||
});
|
||||
|
||||
soumettreDemandeButton.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
SoumettreDemande soumettreDemande = new SoumettreDemande();
|
||||
soumettreDemande.setVisible(true);
|
||||
dispose();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
MainMenu menu = new MainMenu();
|
||||
menu.setVisible(true);
|
||||
}
|
||||
}
|
97
src/main/java/controller/SoumettreDemande.java
Normal file
97
src/main/java/controller/SoumettreDemande.java
Normal file
|
@ -0,0 +1,97 @@
|
|||
package controller;
|
||||
|
||||
import database.DatabaseConnection;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.SQLException;
|
||||
|
||||
public class SoumettreDemande extends JFrame {
|
||||
private JTextField utilisateurIdField;
|
||||
private JTextArea descriptionArea;
|
||||
private JButton soumettreButton;
|
||||
private JButton retourAccueilButton;
|
||||
|
||||
public SoumettreDemande() {
|
||||
setTitle("Soumettre une demande d'aide");
|
||||
setSize(500, 400);
|
||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
setLocationRelativeTo(null);
|
||||
setLayout(new GridBagLayout());
|
||||
|
||||
GridBagConstraints gbc = new GridBagConstraints();
|
||||
gbc.insets = new Insets(10, 10, 10, 10);
|
||||
gbc.fill = GridBagConstraints.HORIZONTAL;
|
||||
|
||||
JLabel utilisateurIdLabel = new JLabel("ID de l'utilisateur :");
|
||||
gbc.gridx = 0;
|
||||
gbc.gridy = 0;
|
||||
add(utilisateurIdLabel, gbc);
|
||||
|
||||
utilisateurIdField = new JTextField();
|
||||
gbc.gridx = 1;
|
||||
gbc.gridy = 0;
|
||||
gbc.gridwidth = 2;
|
||||
add(utilisateurIdField, gbc);
|
||||
|
||||
JLabel descriptionLabel = new JLabel("Description de la tâche :");
|
||||
gbc.gridx = 0;
|
||||
gbc.gridy = 1;
|
||||
add(descriptionLabel, gbc);
|
||||
|
||||
descriptionArea = new JTextArea(5, 20);
|
||||
descriptionArea.setWrapStyleWord(true);
|
||||
descriptionArea.setLineWrap(true);
|
||||
JScrollPane scrollPane = new JScrollPane(descriptionArea);
|
||||
gbc.gridx = 1;
|
||||
gbc.gridy = 1;
|
||||
gbc.gridwidth = 2;
|
||||
add(scrollPane, gbc);
|
||||
|
||||
soumettreButton = new JButton("Soumettre");
|
||||
gbc.gridx = 1;
|
||||
gbc.gridy = 2;
|
||||
add(soumettreButton, gbc);
|
||||
|
||||
retourAccueilButton = new JButton("Retour à l'accueil");
|
||||
gbc.gridx = 1;
|
||||
gbc.gridy = 3;
|
||||
add(retourAccueilButton, gbc);
|
||||
|
||||
soumettreButton.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
soumettreDemande();
|
||||
}
|
||||
});
|
||||
|
||||
retourAccueilButton.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
MainMenu menu = new MainMenu();
|
||||
menu.setVisible(true);
|
||||
dispose();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void soumettreDemande() {
|
||||
String utilisateurId = utilisateurIdField.getText();
|
||||
String description = descriptionArea.getText();
|
||||
|
||||
try (Connection connection = DatabaseConnection.getConnection()) {
|
||||
String sql = "INSERT INTO demandes_aide (utilisateur_id, description, statut) VALUES (?, ?, 'en attente')";
|
||||
PreparedStatement statement = connection.prepareStatement(sql);
|
||||
statement.setInt(1, Integer.parseInt(utilisateurId));
|
||||
statement.setString(2, description);
|
||||
statement.executeUpdate();
|
||||
JOptionPane.showMessageDialog(this, "Demande soumise avec succès !");
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
15
src/main/java/database/DatabaseConnection.java
Normal file
15
src/main/java/database/DatabaseConnection.java
Normal file
|
@ -0,0 +1,15 @@
|
|||
package database;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.SQLException;
|
||||
|
||||
public class DatabaseConnection {
|
||||
private static final String URL = "jdbc:mysql://localhost:3306/aide_personnes_db";
|
||||
private static final String USER = "root";
|
||||
private static final String PASSWORD = "@Abdo2001elouali";
|
||||
|
||||
public static Connection getConnection() throws SQLException {
|
||||
return DriverManager.getConnection(URL, USER, PASSWORD);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue