Système de cannette électronique dans les servlets et JSP
Aperçu
Le système de cannette électronique est une application Web développée à l'aide de servlets Java et JSP, visant à faciliter le processus de réservation de rendez-vous entre les médecins et les patients. Ce système permet aux médecins de gérer leurs horaires de canalisation et leurs patients à prendre des rendez-vous, à consulter leurs horaires et à gérer leurs profils. Le système garantit la persistance des données en stockant toutes les informations dans une base de données MySQL.
Pour les exigences détaillées du projet, veuillez vous référer aux exigences du système de cannelle électronique.pdf
Captures d'écran des pages clés du système de cannette électronique:
Page de bienvenue

Page de connexion du médecin

Page de registre du médecin

Page du programme de canalisation du médecin

Docteur Ajouter une nouvelle page d'horaire

Page du calendrier de canalisation de mise à jour du médecin

Page de planification du docteur Supprimer

Page de profil utilisateur du médecin

Page de profil utilisateur de modification du médecin

Page de connexion du patient

Page de registre des patients

Page Affichage de la liste de rendez-vous des patients

Page Affichage de la liste de rendez-vous complète

Page Affichage de la liste de rendez-vous confirmée au patient

Page de profil utilisateur du patient

PAGE PATIENT DE MODIFICATION DU PROFIL UTILISATION

Page de rendez-vous confirmé le patient

Page de rendez-vous d'annulation des patients

Diagramme de cas d'utilisation et diagramme de classe
Diagramme de cas d'utilisation

Diagramme de classe

Caractéristiques
- Enregistrement du médecin et gestion du profil:
- Les médecins peuvent s'inscrire avec un utilisateur unique, un nom, un mot de passe, un téléphone et une spécialisation.
- Après s'être connecté, les médecins peuvent mettre à jour leur numéro de téléphone et leur spécialisation.
- Gestion du programme du médecin:
- Les médecins peuvent ajouter, afficher, mettre à jour et supprimer leurs horaires de canalisation.
- Chaque calendrier comprend l'identification du médecin, la date de canalisation, l'heure et le nombre maximum de patients autorisés.
- Le système garantit qu'un médecin ne peut avoir qu'un seul calendrier de canalisation par date.
- Enregistrement des patients et gestion du profil:
- Les patients peuvent s'inscrire avec NIC, le nom, le téléphone et le mot de passe.
- Après avoir connecté, les patients peuvent afficher et mettre à jour leurs informations personnelles.
- Les patients ne peuvent pas changer leur NIC.
- Réservation de rendez-vous:
- Les patients peuvent consulter les horaires de canalisation disponibles et prendre rendez-vous.
- Les patients ne peuvent réserver qu'un seul rendez-vous par calendrier de canalisation pour éviter les conflits.
- Les patients peuvent consulter leurs rendez-vous confirmés et annuler si nécessaire.
- Navigation et interface utilisateur:
- Une barre de navigation cohérente est fournie pour une facilité d'utilisation, permettant l'accès à diverses sections telles que les listes de rendez-vous, les rendez-vous personnels, les profils d'utilisateurs et la déconnexion.
Structure de base de données
La base de données du système de cannette électronique est conçue pour gérer les informations pour les médecins, les patients, les horaires de canalisation et les rendez-vous. Il comprend les tables suivantes:
- Tableau des médecins: stocke des informations sur les médecins, y compris leur utilisateur, leur nom, son mot de passe, son téléphone et leur spécialisation.
- Tableau des patients: contient des détails sur les patients tels que NIC, le nom, le mot de passe, le téléphone et le courrier électronique.
- Tableau du calendrier de canalisation: gère la planification des rendez-vous chez le médecin, y compris des détails tels que l'identification du médecin, la date de canalisation, l'heure, les patients maximaux autorisés et le nombre actuel de patients.
- Tableau de rendez-vous: enregistre les rendez-vous pris par les patients, y compris la canalisation de l'identité du calendrier, le NIC du patient, la date de rendez-vous, l'heure de rendez-vous et le statut.
Structure de base de données

Table des médecins
| Colonne | Type de données | Contraintes |
|---|
| ID de l'utilisateur | Varchar (10) | Clé primaire |
| nom | Varchar (100) | Pas nul |
| mot de passe | Varchar (100) | Pas nul |
| téléphone | Varchar (15) | Pas nul |
| spécialisation | Varchar (100) | Pas nul |
Table des patients
| Colonne | Type de données | Contraintes |
|---|
| Nic | Varchar (12) | Clé primaire |
| nom | Varchar (100) | Pas nul |
| mot de passe | Varchar (100) | Pas nul |
| téléphone | Varchar (15) | Pas nul |
| e-mail | Varchar (100) | Pas nul |
Tableau d'horaire de canalisation
| Colonne | Type de données | Contraintes |
|---|
| identifiant | Int | Clé primaire |
| docteur_id | Varchar (10) | Clé étrangère |
| canaling_date | DATE | Pas nul |
| temps | TEMPS | Pas nul |
| max_patients | Int | Pas nul |
| Current_patients | Int | Pas nul |
Table des rendez-vous
| Colonne | Type de données | Contraintes |
|---|
| canaling_schedule_id | Int | Clé étrangère, clé composite |
| patient_nic | Varchar (12) | Clé étrangère, clé composite |
| nomination_date | DATE | Pas nul |
| nomination_time | TEMPS | Pas nul |
| statut | Varchar (20) | Pas nul |
Installation
Configuration initiale du projet et connexion du serveur Tomcat à NetBeans
- Télécharger et installer NetBeans:
- Téléchargez la dernière version de NetBeans sur le site officiel.
- Suivez les instructions d'installation fournies.
- Télécharger et installer Apache Tomcat:
- Téléchargez Apache Tomcat sur le site officiel.
- Extraire le fichier zip téléchargé dans un emplacement préféré sur votre système.
- Configurer Apache Tomcat dans NetBeans:
- NetBeans ouverts.
- Accédez aux outils> serveurs.
- Cliquez sur "Ajouter le serveur" dans la fenêtre des serveurs.
- Choisissez Apache Tomcat et spécifiez l'emplacement de votre installation Tomcat.
- Complétez la configuration en suivant les instructions à l'écran.
Configurer Apache Tomcat
Configuration de la base de données
Pour configurer la base de données du système de cannette électronique, suivez ces étapes:
- Télécharger et installer XAMPP:
- Téléchargez XAMPP sur le site officiel.
- Suivez les instructions d'installation fournies.
- Démarrez MySQL:
- Panneau de commande XAMPP ouvert.
- Commencez le service MySQL.
- Créer et remplir la base de données:
- Open PHPMyAdmin du panneau de commande XAMPP.
- Créez une nouvelle base de données nommée "e_channeling_system".
Exécutez la commande SQL suivante pour créer la base de données:
CREATE DATABASE e_channeling_system ;
- Exécutez les requêtes SQL suivantes pour créer et remplir les tables:
Passez à la base de données nouvellement créée:
Exécutez les commandes SQL suivantes pour créer les tables nécessaires:
Créer la table des médecins
CREATE TABLE doctors (
userID VARCHAR ( 10 ) PRIMARY KEY ,
name VARCHAR ( 100 ) NOT NULL ,
password VARCHAR ( 100 ) NOT NULL ,
phone VARCHAR ( 15 ) NOT NULL ,
specialization VARCHAR ( 100 ) NOT NULL
); Créer la table des patients
CREATE TABLE patients (
NIC VARCHAR ( 12 ) PRIMARY KEY ,
name VARCHAR ( 100 ) NOT NULL ,
password VARCHAR ( 100 ) NOT NULL ,
phone VARCHAR ( 15 ) NOT NULL ,
email VARCHAR ( 100 ) NOT NULL
); Créer le tableau des horaires de canalisation
CREATE TABLE channeling_schedule (
id INT AUTO_INCREMENT PRIMARY KEY ,
doctor_id VARCHAR ( 10 ),
channeling_date DATE NOT NULL ,
time TIME NOT NULL ,
max_patients INT NOT NULL ,
current_patients INT NOT NULL ,
FOREIGN KEY (doctor_id) REFERENCES doctors(userID)
); Créer le tableau des rendez-vous
CREATE TABLE appointments (
channeling_schedule_id INT ,
patient_NIC VARCHAR ( 12 ),
appointment_date DATE NOT NULL ,
appointment_time TIME NOT NULL ,
status VARCHAR ( 20 ) NOT NULL ,
PRIMARY KEY (channeling_schedule_id, patient_NIC),
FOREIGN KEY (channeling_schedule_id) REFERENCES channeling_schedule(id),
FOREIGN KEY (patient_NIC) REFERENCES patients(NIC)
); Technologies et outils
- Servlets java
- Pages du serveur Java (JSP)
- Base de données MySQL
- HTML / CSS pour la conception frontale
- Apache Tomcat pour le déploiement du serveur
- XAMPP
- Apache Netbeans
Contributions
Les contributions pour améliorer les fonctionnalités et les caractéristiques du système de cannette électronique sont les bienvenues. Veuillez suivre le flux de travail GitHub standard pour soumettre des demandes de traction.
Licence
Licence MIT
Note
Assurez-vous que le pilote MySQL JDBC (Jar) est ajouté au répertoire "Web-Inf / Lib" de votre projet.