Skip to content

Commit a4ee45f

Browse files
committed
Setup swagger and logging to database
1 parent e245a2c commit a4ee45f

File tree

18 files changed

+2512
-133
lines changed

18 files changed

+2512
-133
lines changed

.env.dev

Lines changed: 0 additions & 3 deletions
This file was deleted.

.env.development

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
DB_URI=mongodb+srv://nufacturing:dO6^M7u2Pf9Bf0Q#@nufacturing0.2n3i3rk.mongodb.net/nufacturing-development-db?retryWrites=true&w=majority&appName=Nufacturing0
2+
JWT_SECRET=c551591808a16b19a0c2cf7956aef9009ce27295d25bce18b2953690786e9359
3+
EMAIL_USER=ahim@brcodex.com.np
4+
EMAIL_PASS=Iamlocked_11
5+

.env.example

Lines changed: 0 additions & 6 deletions
This file was deleted.

.env.local

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
DB_URI=mongodb+srv://nufacturing:localhost:27017/nufacturing-local-db
2+
JWT_SECRET=c551591808a16b19a0c2cf7956aef9009ce27295d25bce18b2953690786e9359
3+
EMAIL_USER=ahim@brcodex.com.np
4+
EMAIL_PASS=Iamlocked_11

.env.production

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1-
NODE_ENV=production
2-
PORT=3000
3-
DB_URI=mongodb://localhost:27017/prod_db
1+
DB_URI=mongodb+srv://nufacturing:kIVFunOvCwVyVrOT@nufacturing0.2n3i3rk.mongodb.net/nufacturing-production-db?retryWrites=true&w=majority&appName=Nufacturing0
2+
JWT_SECRET=c551591808a16b19a0c2cf7956aef9009ce27295d25bce18b2953690786e9359
3+
EMAIL_USER=ahim@brcodex.com.np
4+
EMAIL_PASS=Iamlocked_11

.env.staging

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1-
NODE_ENV=staging
2-
PORT=3000
3-
DB_URI=mongodb://localhost:27017/staging_db
1+
DB_URI=mongodb+srv://nufacturing:kIVFunOvCwVyVrOT@nufacturing0.2n3i3rk.mongodb.net/nufacturing-staging-db?retryWrites=true&w=majority&appName=Nufacturing0
2+
JWT_SECRET=c551591808a16b19a0c2cf7956aef9009ce27295d25bce18b2953690786e9359
3+
EMAIL_USER=ahim@brcodex.com.np
4+
EMAIL_PASS=Iamlocked_11

.vscode/settings.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"cSpell.words": [
3+
"openapi"
4+
]
5+
}

app.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,23 @@ const quoteRoutes = require('./src/routes/sales-routes/quoteRoutes');
88
const orderRoutes = require('./src/routes/sales-routes/orderRoutes');
99
const customerRoutes = require('./src/routes/sales-routes/customerRoutes');
1010
const inventoryRoutes = require('./src/routes/inventoryRoutes');
11-
const logger = require('./src/config/logger');
12-
require('./src/utils/scheduledTasks');
11+
const swaggerUI = require('swagger-ui-express');
12+
const openapi_swagger_specification_file = require('./swagger_output.json');
1313

14+
// Schedule tasks
15+
require('./src/utils/scheduledTasks');
1416

1517
const app = express();
1618

17-
// Connect to the database
18-
connectDB();
19+
// Serve Swagger documentation
20+
app.use('/api', swaggerUI.serve, swaggerUI.setup(openapi_swagger_specification_file));
1921

2022
// Middleware
2123
app.use(express.json());
2224

25+
// Connect to the database
26+
connectDB();
27+
2328
// Routes
2429
app.use('/api/users', userRoutes);
2530

@@ -33,4 +38,4 @@ app.use('/api/sales/customers', customerRoutes);
3338

3439
app.use('/api/inventory', inventoryRoutes);
3540

36-
module.exports = app;
41+
module.exports = app;

logs/app.log

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
{"level":"info","message":"Logger initialized.","timestamp":"2024-07-31T23:46:33.711Z"}
2+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-07-31T23:46:34.360Z"}
3+
{"level":"info","message":"Logger initialized.","timestamp":"2024-07-31T23:46:42.463Z"}
4+
{"level":"info","message":"Logger initialized.","timestamp":"2024-07-31T23:46:43.419Z"}
5+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-07-31T23:46:44.032Z"}
6+
{"level":"info","message":"Logger initialized.","timestamp":"2024-07-31T23:49:41.282Z"}
7+
{"level":"info","message":"Logger initialized.","timestamp":"2024-07-31T23:53:45.656Z"}
8+
{"level":"error","message":"Could not connect to MongoDB for logging transports is not defined","stack":"ReferenceError: transports is not defined\n at connectDB (C:\\Users\\NickGallimore\\source\\repos\\nufacturing-api\\src\\config\\db.js:12:20)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2024-07-31T23:53:45.676Z"}
9+
{"level":"info","message":"Logger initialized.","timestamp":"2024-07-31T23:53:49.130Z"}
10+
{"level":"error","message":"Could not connect to MongoDB for logging transports is not defined","stack":"ReferenceError: transports is not defined\n at connectDB (C:\\Users\\NickGallimore\\source\\repos\\nufacturing-api\\src\\config\\db.js:12:20)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2024-07-31T23:53:49.148Z"}
11+
{"level":"info","message":"Logger initialized.","timestamp":"2024-07-31T23:53:52.995Z"}
12+
{"level":"error","message":"Could not connect to MongoDB for logging transports is not defined","stack":"ReferenceError: transports is not defined\n at connectDB (C:\\Users\\NickGallimore\\source\\repos\\nufacturing-api\\src\\config\\db.js:12:20)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2024-07-31T23:53:53.014Z"}
13+
{"level":"info","message":"Logger initialized.","timestamp":"2024-07-31T23:54:00.768Z"}
14+
{"level":"error","message":"Could not connect to MongoDB for logging transports is not defined","stack":"ReferenceError: transports is not defined\n at connectDB (C:\\Users\\NickGallimore\\source\\repos\\nufacturing-api\\src\\config\\db.js:12:20)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2024-07-31T23:54:00.787Z"}
15+
{"level":"info","message":"Logger initialized.","timestamp":"2024-07-31T23:59:45.187Z"}
16+
{"level":"error","message":"Could not connect to MongoDB for logging transports is not defined","stack":"ReferenceError: transports is not defined\n at connectDB (C:\\Users\\NickGallimore\\source\\repos\\nufacturing-api\\src\\config\\db.js:12:20)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2024-07-31T23:59:45.392Z"}
17+
{"level":"info","message":"Logger initialized.","timestamp":"2024-07-31T23:59:48.658Z"}
18+
{"level":"error","message":"Could not connect to MongoDB for logging transports is not defined","stack":"ReferenceError: transports is not defined\n at connectDB (C:\\Users\\NickGallimore\\source\\repos\\nufacturing-api\\src\\config\\db.js:12:20)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2024-07-31T23:59:48.837Z"}
19+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:00:01.149Z"}
20+
{"level":"error","message":"Could not connect to MongoDB for logging transports is not defined","stack":"ReferenceError: transports is not defined\n at connectDB (C:\\Users\\NickGallimore\\source\\repos\\nufacturing-api\\src\\config\\db.js:12:20)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2024-08-01T00:00:01.379Z"}
21+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:00:04.320Z"}
22+
{"level":"error","message":"Could not connect to MongoDB for logging transports is not defined","stack":"ReferenceError: transports is not defined\n at connectDB (C:\\Users\\NickGallimore\\source\\repos\\nufacturing-api\\src\\config\\db.js:12:20)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2024-08-01T00:00:04.514Z"}
23+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:00:40.850Z"}
24+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:00:41.114Z"}
25+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:01:03.707Z"}
26+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:01:03.892Z"}
27+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:01:11.715Z"}
28+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:01:11.912Z"}
29+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:01:23.328Z"}
30+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:01:23.517Z"}
31+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:01:27.190Z"}
32+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:01:27.398Z"}
33+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:02:00.646Z"}
34+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:02:00.954Z"}
35+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:02:01.705Z"}
36+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:02:01.912Z"}
37+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:02:15.990Z"}
38+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:02:16.177Z"}
39+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:02:39.362Z"}
40+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:02:39.559Z"}
41+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:02:40.883Z"}
42+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:02:41.085Z"}
43+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:02:43.037Z"}
44+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:02:43.250Z"}
45+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:02:51.578Z"}
46+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:02:51.773Z"}
47+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:03:33.953Z"}
48+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:03:36.185Z"}
49+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:04:10.459Z"}
50+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:04:10.769Z"}
51+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:04:14.227Z"}
52+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:04:14.527Z"}
53+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:04:28.407Z"}
54+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:04:28.714Z"}
55+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:04:57.884Z"}
56+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:04:58.194Z"}
57+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:05:44.142Z"}
58+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:05:44.426Z"}
59+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:22:34.035Z"}
60+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:22:34.216Z"}
61+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:23:12.078Z"}
62+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:23:12.296Z"}
63+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:23:23.871Z"}
64+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:23:24.071Z"}
65+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:23:33.438Z"}
66+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:23:33.622Z"}
67+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:23:35.030Z"}
68+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:23:35.218Z"}
69+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:23:40.324Z"}
70+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:23:40.509Z"}
71+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:23:45.932Z"}
72+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:23:46.129Z"}
73+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:24:17.467Z"}
74+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:24:17.650Z"}
75+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:26:41.221Z"}
76+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:26:41.482Z"}
77+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:27:27.845Z"}
78+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:27:28.118Z"}
79+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:29:28.973Z"}
80+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:29:29.198Z"}
81+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:29:40.832Z"}
82+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:29:41.053Z"}
83+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:29:44.537Z"}
84+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:29:44.778Z"}
85+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:30:18.098Z"}
86+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:30:18.309Z"}
87+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:30:21.304Z"}
88+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:30:21.507Z"}
89+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:33:26.347Z"}
90+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:33:26.540Z"}
91+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:33:29.078Z"}
92+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:33:29.259Z"}
93+
{"level":"info","message":"Logger initialized.","timestamp":"2024-08-01T00:34:38.539Z"}
94+
{"level":"info","message":"Connected to MongoDB for logging.","timestamp":"2024-08-01T00:34:38.726Z"}

0 commit comments

Comments
 (0)