chore(backend): bootstrap Express + TypeScript + Prisma
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import express from 'express';
|
||||
import cors from 'cors';
|
||||
import { env } from './config/env';
|
||||
import { connectDatabase, disconnectDatabase } from './db/prisma';
|
||||
|
||||
const app = express();
|
||||
|
||||
// Middlewares globaux
|
||||
app.use(cors());
|
||||
app.use(express.json());
|
||||
|
||||
// Route de test
|
||||
app.get('/health', (_req, res) => {
|
||||
res.json({ status: 'ok', app: 'EME API' });
|
||||
});
|
||||
|
||||
async function bootstrap(): Promise<void> {
|
||||
await connectDatabase();
|
||||
|
||||
const server = app.listen(env.port, () => {
|
||||
console.log(`[EME API] Serveur demarre sur http://localhost:${env.port}`);
|
||||
});
|
||||
|
||||
process.on('SIGINT', async () => {
|
||||
await disconnectDatabase();
|
||||
server.close(() => process.exit(0));
|
||||
});
|
||||
}
|
||||
|
||||
bootstrap().catch((error: unknown) => {
|
||||
console.error('[EME API] Echec du demarrage', error);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user