From de8d6bfe1caaa289673cebeec0fe31b0ec25db6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mih=C3=A1ly=20Andr=C3=A1s=20T=C3=B3th?= Date: Thu, 10 Jul 2025 12:18:43 +0200 Subject: [PATCH] refactor app, move to src folder and separate api folder --- package.json | 2 +- index.js => src/api/badge.js | 15 +++------------ src/api/index.js | 8 ++++++++ src/api/tag.js | 8 ++++++++ src/index.js | 16 ++++++++++++++++ 5 files changed, 36 insertions(+), 13 deletions(-) rename index.js => src/api/badge.js (94%) create mode 100644 src/api/index.js create mode 100644 src/api/tag.js create mode 100644 src/index.js diff --git a/package.json b/package.json index 39a9927..33b9b0a 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "BadgeDex. Create awesome badges for Github profile", "main": "index.js", "scripts": { - "start": "node index.js", + "start": "node src/index.js", "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { diff --git a/index.js b/src/api/badge.js similarity index 94% rename from index.js rename to src/api/badge.js index d1315dd..30e38b5 100644 --- a/index.js +++ b/src/api/badge.js @@ -1,14 +1,7 @@ -const express = require('express'); +const router = require('express').Router(); const axios = require('axios'); -const helmet = require('helmet'); -const app = express(); -const PORT = process.env.PORT || 3000; -app.use(helmet({ - crossOriginResourcePolicy: false, - })); - -app.get('/badge', async (req, res) => { +router.get('/badge', async (req, res) => { const { icon = 'simpleicons', label = 'Simple Icons', @@ -150,6 +143,4 @@ app.get('/badge', async (req, res) => { } }); -app.listen(PORT, () => { - console.log(`🚀 Badge API running at http://localhost:${PORT}/badge`); -}); +module.exports = router; \ No newline at end of file diff --git a/src/api/index.js b/src/api/index.js new file mode 100644 index 0000000..d9a9460 --- /dev/null +++ b/src/api/index.js @@ -0,0 +1,8 @@ +const router = require('express').Router(); +const badgeRouter = require('./badge'); +const tagRouter = require('./tag'); + +router.use(badgeRouter); +router.use(tagRouter); + +module.exports = { router }; \ No newline at end of file diff --git a/src/api/tag.js b/src/api/tag.js new file mode 100644 index 0000000..f968742 --- /dev/null +++ b/src/api/tag.js @@ -0,0 +1,8 @@ +const router = require('express').Router(); + + +router.get('/tag', (req, res) => { + res.status(200).send('OK'); +}); + +module.exports = router; \ No newline at end of file diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..2bb1926 --- /dev/null +++ b/src/index.js @@ -0,0 +1,16 @@ +const express = require('express'); +const helmet = require('helmet'); +const app = express(); +const PORT = process.env.PORT || 3000; + +const api = require('./api'); + +app.use(helmet({ + crossOriginResourcePolicy: false, + })); + +app.use('/', api.router); + +app.listen(PORT, () => { + console.log(`🚀 Badge API running at http://localhost:${PORT}/`); +});