/
1Rrd0
/
Course2
Обзор
Документация
Войти
/
1Rrd0
/
Course2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
server.js
62 строки
2 KB
dima
1
13 дек 2025, 11:13
13 дек 2025, 11:13
cad444c
Код
Авторство
О чём код?
const express = require('express') const mongoose = require('mongoose') const dotenv = require('dotenv') const swaggerUi = require('swagger-ui-express') const YAML = require('yamljs') const authMiddleware = require('./middleware/auth') const rateLimit = require('./middleware/rateLimit') const coursesRouter = require('./routes/v1/courses') const usersRouter = require('./routes/v1/users') const enrollmentsRouter = require('./routes/v1/enrollments') const coursesV2Router = require('./routes/v2/courses') const usersV2Router = require('./routes/v2/users') const enrollmentsV2Router = require('./routes/v2/enrollments') const internalV2Router = require('./routes/v2/internal') dotenv.config() const app = express() const PORT = process.env.PORT || 3000 const MONGO_URI = process.env.MONGO_URI app.use(express.json()) const swaggerDocument = YAML.load('./openapi.yaml') app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument)) // healthcheck app.get('/api/v1/health', (req, res) => { res.json({ status: 'ok' }) }) app.use(authMiddleware) app.use(rateLimit) app.use('/api/v1/courses', coursesRouter) app.use('/api/v1/users', usersRouter) app.use('/api/v1/enrollments', enrollmentsRouter) app.use('/api/v2/courses', coursesV2Router) app.use('/api/v2/users', usersV2Router) app.use('/api/v2/enrollments', enrollmentsV2Router) app.use('/api/v2/internal', internalV2Router) async function start() { try { await mongoose.connect(MONGO_URI) console.log('✅ Connected to MongoDB') app.listen(PORT, () => { console.log(`🚀 Server is running on http://localhost:${PORT}`) }) } catch (error) { console.error('❌ Mongo connection error:', error) process.exit(1) } } start()