39 lines
No EOL
965 B
JavaScript
39 lines
No EOL
965 B
JavaScript
require('dotenv').config();
|
|
const express = require('express');
|
|
const app = express();
|
|
const swaggerUi = require('swagger-ui-express');
|
|
const swaggerSpec = require('./swagger');
|
|
const cors = require('cors');
|
|
const db = require('./config/db');
|
|
|
|
// Middlewares
|
|
app.use(cors({
|
|
origin: '*',
|
|
methods: ["GET", "POST", "PUT", "DELETE"],
|
|
credentials: true,
|
|
}));
|
|
app.use(express.json());
|
|
|
|
// Swagger
|
|
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec));
|
|
|
|
// Routes
|
|
/**
|
|
* @swagger
|
|
* tags:
|
|
* - name: Users
|
|
* description: User management
|
|
* /users:
|
|
* get:
|
|
* summary: Get all users
|
|
* responses:
|
|
* 200:
|
|
* description: List of users
|
|
*/
|
|
app.use('/users', require('./routes/users'));
|
|
app.use('/cours', require('./routes/cours'));
|
|
app.use('/groups', require('./routes/groups'));
|
|
|
|
// Lancer serveur
|
|
const PORT = process.env.PORT || 3000;
|
|
app.listen(PORT, () => console.log(`API running on http://localhost:${PORT}`)); |