initial project

This commit is contained in:
Ahmad Ardiansyah
2025-09-28 09:50:05 +07:00
commit 09f4d5ee46
5 changed files with 1151 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
node_modules

18
logger/winston.js Normal file
View File

@@ -0,0 +1,18 @@
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
defaultMeta: { service: 'express-gitea' },
transports: [
new winston.transports.Console(),
],
});
const winstonLogger = (req, res, next) => {
logger.info(`${req.method} ${req.url}`);
next();
}
module.exports.winstonLogger = () => winstonLogger;
module.exports.logger = logger;

1095
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

17
package.json Normal file
View File

@@ -0,0 +1,17 @@
{
"name": "express-gitea",
"version": "1.0.0",
"type": "commonjs",
"description": "",
"main": "server.js",
"scripts": {
"start": "node server.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^5.1.0",
"winston": "^3.17.0"
}
}

20
server.js Normal file
View File

@@ -0,0 +1,20 @@
const express = require('express')
const app = express()
const port = 3000
const { logger, winstonLogger } = require('./logger/winston');
app.use(express.json());
app.use(winstonLogger());
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.get('/healthz', (req, res) => {
res.status(200).send('OK')
})
app.listen(port, () => {
logger.info(`App listening on port ${port}`)
})