sang / server.js
progitanas1's picture
crees les autres HTML et le serveur - Initial Deployment
dfe8a7c verified
```javascript
const express = require('express');
const path = require('path');
const app = express();
const PORT = 3000;
// Middleware
app.use(express.static(path.join(__dirname)));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
// Stockage en mémoire (à remplacer par une base de données)
let users = [];
let appointments = [];
// Routes
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname, 'index.html'));
});
app.get('/register', (req, res) => {
res.sendFile(path.join(__dirname, 'register.html'));
});
app.get('/login', (req, res) => {
res.sendFile(path.join(__dirname, 'login.html'));
});
app.get('/dashboard', (req, res) => {
res.sendFile(path.join(__dirname, 'dashboard.html'));
});
// API endpoints
app.post('/api/register', (req, res) => {
const { name, email, password } = req.body;
// Vérifier si l'utilisateur existe déjà
const existingUser = users.find(u => u.email === email);
if (existingUser) {
return res.status(400).json({ error: 'Cet email est déjà utilisé' });
}
// Créer un nouvel utilisateur
const newUser = { name, email, password };
users.push(newUser);
res.status(201).json({ message: 'Inscription réussie', user: newUser });
});
app.post('/api/login', (req, res) => {
const { email, password } = req.body;
// Vérifier les identifiants
const user = users.find(u => u.email === email && u.password === password);
if (!user) {
return res.status(401).json({ error: 'Identifiants incorrects' });
}
res.json({ message: 'Connexion réussie', user });
});
app.post('/api/appointments', (req, res) => {
const { userId, laboratory, date, time, analysis } = req.body;
// Créer un nouveau rendez-vous
const newAppointment = {
id: Date.now(),
userId,
laboratory,
date,
time,
analysis,
status: 'confirmé'
};
appointments.push(newAppointment);
res.status(201).json({ message: 'Rendez-vous pris avec succès', appointment: newAppointment });
});
app.get('/api/appointments/:userId', (req, res) => {
const { userId } = req.params;
const userAppointments = appointments.filter(a => a.userId === userId);
res.json(userAppointments);
});
app.delete('/api/appointments/:id', (req, res) => {
const { id } = req.params;
const appointmentId = parseInt(id);
appointments = appointments.filter(a => a.id !== appointmentId);
res.json({ message: 'Rendez-vous annulé' });
});
// Démarrer le serveur
app.listen(PORT, () => {
console.log(`Serveur démarré sur http://localhost:${PORT}`);
});
```