- Youness Boumlik
- Abdellah Boulidam
- M. GHERABI
- Introduction
- Conception
- Hiérarchie de l'application
- Interface Graphique
- Fonctionnalités
- APIs Utilisées
- Documentation d'installation
- Collaboration
- Les Difficultés
- Conclusion
Ce projet consiste en une application de bureau développée avec JavaFX, visant à optimiser la gestion des ventes. Elle permet de gérer divers aspects essentiels tels que les factures, les livraisons, les commandes, les clients et les produits. L'application offre une interface intuitive et facilite l'accès et la manipulation des données pour les utilisateurs.
- Améliorer le processus de vente.
- Assurer un suivi rigoureux des transactions et des livraisons.
- Maintenir une base de données client précise et à jour.
- Fournir un outil puissant et flexible pour les entreprises.
- Gestion des clients, produits, commandes et livraisons.
- Exportation des tableaux au format PDF ou CSV.
- Intégration d'API pour la restauration de mots de passe et les notifications par SMS.
- Client(numeroclient, nom, prenom, adresse, telephone)
- Produits(numeroproduit, nomproduit, quantite, prix)
- Commande(numerocommande, datecommande, #numeroclient)
- Facture(numerofacture, datefacture, montant, #numerocommande)
- Livraison(numerolivraison, datelivraison, #numerocommande)
- Interfaces Graphiques: Contient les fichiers FXML, images, icônes et stylesheets.
- Classes Java: Contient les classes définies dans le diagramme de classes.
- Contrôleurs: Contient les contrôleurs pour les interfaces graphiques.
- Dépendances: Contient les fichiers .jar utilisés dans le projet.
-
Gestion des Clients: Saisie des informations clients et ajout des nouveaux clients.
-
Gestion des Commandes: Ajout, modification et suppression des commandes.
-
Tableau de Bord: Visualisation des statistiques avec des graphiques.
-
Sécurité: Interfaces de login, réinitialisation de mot de passe et vérification des utilisateurs.
- Exportation: Exportation des données des tableaux en fichiers CSV ou PDF.
- Notifications SMS: Envoi de SMS pour notifier les responsables de l'état des stocks.
- Récupération de Mot de Passe: Utilisation d'API pour envoyer des codes de vérification par email.
- Twilio API: Pour l'envoi de SMS automatiques.
- Mailtrap API: Pour la gestion de la récupération des mots de passe par email.
- Jasypt: Pour le chiffrement des données sensibles.
public void exportToCSV(TableView tableView, File file) {
try (PrintWriter writer = new PrintWriter(file)) {
for (Object row : tableView.getItems()) {
writer.println(row.toString());
}
} catch (FileNotFoundException e) {
Alert alert = new Alert(Alert.AlertType.ERROR, "Error writing to file.");
alert.showAndWait();
}
}
- Ajouter les fichiers
.jar
du dossierdependencies
dans le classpath. - Ajouter le jar de Font Awesome pour Scene Builder.
- Importer le fichier
baseDeDonnes.sql
pour configurer la base de données.
Nous avons utilisé GitHub pour notre travail d'équipe, ce qui nous a permis de partager efficacement notre code, de suivre les modifications et de résoudre les problèmes ensemble. Le lien vers notre repository GitHub est ici.
- Gestion des Dépendances: Problèmes rencontrés lors de l'ajout de bibliothèques externes dans Eclipse.
- API de Courrier Électronique: Difficultés avec le port 25, nécessitant de changer de service de courrier électronique.
Ce projet a été une expérience enrichissante, nous permettant d'appliquer nos connaissances en Java, de travailler avec JavaFX et Scene Builder, et de manipuler des fichiers CSV et PDF. Nous avons aussi appris à utiliser GitHub pour une collaboration efficace et à surmonter des défis techniques.
Nous remercions notre professeur M. GHERABI pour cette opportunité et sommes impatients de mettre en pratique ces compétences dans nos futurs projets. Merci pour cette expérience précieuse.
Pour plus de détails, veuillez consulter le Rapport de Projet.