/
aychuikov
/
ProfessionalJuniorAppForTest
Обзор
Документация
Войти
/
aychuikov
/
ProfessionalJuniorAppForTest
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/app.js
55 строк
2 KB
Tank4444
feat: Establish core server architecture with services, admin UI, and API documentation.
05 фев 2026, 13:53
05 фев 2026, 13:53
6e8ff48
Код
Авторство
О чём код?
const express = require('express'); const cors = require('cors'); const helmet = require('helmet'); const morgan = require('morgan'); const path = require('path'); const { errorResponse } = require('./utils/response'); const app = express(); // Middleware app.use(cors()); app.use(helmet()); app.use(morgan('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: true })); // Static Resources app.use('/v1/resources', express.static(path.join(__dirname, '../tmodels'))); const authRoutes = require('./routes/auth.routes'); const userRoutes = require('./routes/user.routes'); const exerciseRoutes = require('./routes/exercise.routes'); const commonRoutes = require('./routes/common.routes'); const contestRoutes = require('./routes/contest.routes'); const gameRoutes = require('./routes/game.routes'); const adminRoutes = require('./routes/admin.routes'); app.use('/v1/auth', authRoutes); app.use('/v1/users', userRoutes); app.use('/v1/exercises', exerciseRoutes); app.use('/v1/games', gameRoutes); app.use('/v1', commonRoutes); app.use('/v1', contestRoutes); app.use('/admin', adminRoutes); // Swagger const swaggerUi = require('swagger-ui-express'); const YAML = require('yamljs'); const swaggerDocument = YAML.load(path.join(__dirname, './docs/swagger.yaml')); app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument)); // 404 Handler app.use((req, res) => { errorResponse(res, { code: 'NOT_FOUND', message: 'Endpoint not found' }, 404); }); // Error Handler app.use((err, req, res, next) => { console.error(err.stack); errorResponse(res, { code: 'SERVER_ERROR', message: err.message }, 500); }); module.exports = app;