Skip to content

Commit c94c5e1

Browse files
committed
basic template added
1 parent 9443e96 commit c94c5e1

File tree

102 files changed

+8208
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+8208
-0
lines changed

.env.example

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
NODE_ENV=production
2+
MONGO_URI=mongodb+srv://nahid:zxv9ruRfpdrWPGlO@e-com.vrybfwz.mongodb.net/hackathon
3+
PORT=5000

.eslintignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dist
2+
node_modules
3+
.env

.eslintrc

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"parser": "@typescript-eslint/parser",
3+
"parserOptions": {
4+
"ecmaVersion": 12,
5+
"sourceType": "module"
6+
},
7+
"plugins": ["@typescript-eslint", "unused-imports"],
8+
"extends": [
9+
"eslint:recommended",
10+
"plugin:@typescript-eslint/recommended",
11+
"prettier"
12+
],
13+
"rules": {
14+
"@typescript-eslint/no-unused-vars": "off",
15+
"@typescript-eslint/consistent-type-definitions": ["error", "type"],
16+
"unused-imports/no-unused-imports": "error",
17+
"@typescript-eslint/no-explicit-any": "off"
18+
},
19+
"env": {
20+
"browser": true,
21+
"es2021": true
22+
}
23+
}

.github/workflows/node.js.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Deploy to Amazon Web Services EC2
2+
3+
on:
4+
push:
5+
branches: ['main']
6+
pull_request:
7+
branches: ['main']
8+
9+
jobs:
10+
build:
11+
runs-on: self-hosted
12+
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v2
16+
17+
- name: Setup Node.js and Yarn
18+
uses: actions/setup-node@v2
19+
with:
20+
node-version: 16
21+
cache: 'yarn' # Cache Yarn packages
22+
23+
- name: Install dependencies with Yarn
24+
run: yarn install --frozen-lockfile
25+
26+
- name: Copy .env.example to .env
27+
run: cp .env.example .env
28+
29+
- name: Restart pm2 Job
30+
run: pm2 restart server --update-env

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.env
2+
.env.local
3+
node_modules
4+
logs
5+
yarn-error.log

.husky/pre-commit

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
yarn lint-staged

.prettierrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"semi": false,
3+
"singleQuote": true,
4+
"arrowParens": "avoid"
5+
}

Dockerfile

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Use a Node.js image
2+
FROM node:18.18.0
3+
4+
# Set the working directory
5+
WORKDIR /app
6+
7+
# Copy all the application files
8+
COPY . .
9+
10+
# Install dependencies
11+
RUN yarn install
12+
13+
# Expose the port if required
14+
EXPOSE 5000
15+
16+
# Command to run the application
17+
CMD ["yarn", "start"]

dist/app.js

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
"use strict";
2+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3+
if (k2 === undefined) k2 = k;
4+
var desc = Object.getOwnPropertyDescriptor(m, k);
5+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6+
desc = { enumerable: true, get: function() { return m[k]; } };
7+
}
8+
Object.defineProperty(o, k2, desc);
9+
}) : (function(o, m, k, k2) {
10+
if (k2 === undefined) k2 = k;
11+
o[k2] = m[k];
12+
}));
13+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14+
Object.defineProperty(o, "default", { enumerable: true, value: v });
15+
}) : function(o, v) {
16+
o["default"] = v;
17+
});
18+
var __importStar = (this && this.__importStar) || function (mod) {
19+
if (mod && mod.__esModule) return mod;
20+
var result = {};
21+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22+
__setModuleDefault(result, mod);
23+
return result;
24+
};
25+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27+
return new (P || (P = Promise))(function (resolve, reject) {
28+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31+
step((generator = generator.apply(thisArg, _arguments || [])).next());
32+
});
33+
};
34+
var __importDefault = (this && this.__importDefault) || function (mod) {
35+
return (mod && mod.__esModule) ? mod : { "default": mod };
36+
};
37+
Object.defineProperty(exports, "__esModule", { value: true });
38+
exports.app = void 0;
39+
const cors_1 = __importDefault(require("cors"));
40+
require("dotenv/config");
41+
const express_1 = __importDefault(require("express"));
42+
const path = __importStar(require("path"));
43+
const routes_1 = __importDefault(require("./app/routes"));
44+
// import routes here
45+
const dbConnect_1 = require("./utils/dbConnect");
46+
const globalErrorHandler_1 = __importDefault(require("./errors/globalErrorHandler"));
47+
const app = (0, express_1.default)();
48+
exports.app = app;
49+
app.use((0, cors_1.default)());
50+
// Set EJS as the view engine
51+
app.set('view engine', 'ejs');
52+
// Set the path to the views directory
53+
app.set('views', path.join(__dirname, '../views'));
54+
//parser
55+
app.use(express_1.default.json());
56+
app.use(express_1.default.urlencoded({ extended: true }));
57+
// Database connection
58+
(0, dbConnect_1.dbConnect)();
59+
// Application routes
60+
app.use('/api/v1', routes_1.default);
61+
//Welcome route
62+
app.get('/', (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
63+
res.render('welcome');
64+
}));
65+
// Error handling
66+
app.use(globalErrorHandler_1.default);
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
"use strict";
2+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4+
return new (P || (P = Promise))(function (resolve, reject) {
5+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8+
step((generator = generator.apply(thisArg, _arguments || [])).next());
9+
});
10+
};
11+
var __importDefault = (this && this.__importDefault) || function (mod) {
12+
return (mod && mod.__esModule) ? mod : { "default": mod };
13+
};
14+
Object.defineProperty(exports, "__esModule", { value: true });
15+
exports.getCompanyController = void 0;
16+
const http_status_1 = __importDefault(require("http-status"));
17+
const configs_1 = __importDefault(require("../../../configs"));
18+
const responseHandler_1 = __importDefault(require("../../../utils/responseHandler"));
19+
const getCompanyController = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
20+
try {
21+
const result = configs_1.default.company_name;
22+
(0, responseHandler_1.default)(res, {
23+
statusCode: http_status_1.default.OK,
24+
success: true,
25+
message: 'Successfully fetched company name',
26+
data: result,
27+
});
28+
}
29+
catch (error) {
30+
next(error);
31+
}
32+
});
33+
exports.getCompanyController = getCompanyController;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
"use strict";
2+
var __importDefault = (this && this.__importDefault) || function (mod) {
3+
return (mod && mod.__esModule) ? mod : { "default": mod };
4+
};
5+
Object.defineProperty(exports, "__esModule", { value: true });
6+
exports.CommonRoutes = void 0;
7+
const express_1 = __importDefault(require("express"));
8+
const Common_controller_1 = require("./Common.controller");
9+
const router = express_1.default.Router();
10+
// Create a new role
11+
router.get('/companyName', Common_controller_1.getCompanyController);
12+
exports.CommonRoutes = router;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"use strict";
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
"use strict";
2+
Object.defineProperty(exports, "__esModule", { value: true });
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
"use strict";
2+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3+
if (k2 === undefined) k2 = k;
4+
var desc = Object.getOwnPropertyDescriptor(m, k);
5+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6+
desc = { enumerable: true, get: function() { return m[k]; } };
7+
}
8+
Object.defineProperty(o, k2, desc);
9+
}) : (function(o, m, k, k2) {
10+
if (k2 === undefined) k2 = k;
11+
o[k2] = m[k];
12+
}));
13+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14+
Object.defineProperty(o, "default", { enumerable: true, value: v });
15+
}) : function(o, v) {
16+
o["default"] = v;
17+
});
18+
var __importStar = (this && this.__importStar) || function (mod) {
19+
if (mod && mod.__esModule) return mod;
20+
var result = {};
21+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22+
__setModuleDefault(result, mod);
23+
return result;
24+
};
25+
Object.defineProperty(exports, "__esModule", { value: true });
26+
exports.HistoricalDataModel = void 0;
27+
const mongoose_1 = __importStar(require("mongoose"));
28+
const HistoricalDataSchema = new mongoose_1.Schema({
29+
organization: { type: mongoose_1.Schema.Types.Mixed, required: true },
30+
users: { type: [mongoose_1.Schema.Types.Mixed] },
31+
schedules: { type: [mongoose_1.Schema.Types.Mixed] },
32+
deletedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User' },
33+
deletedAt: { type: Date },
34+
restoredBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User' },
35+
restoredAt: { type: Date },
36+
});
37+
exports.HistoricalDataModel = mongoose_1.default.model('HistoricalData', HistoricalDataSchema);
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"use strict";
2+
Object.defineProperty(exports, "__esModule", { value: true });
3+
exports.orgSearchableFields = exports.orgFilterableFields = void 0;
4+
exports.orgFilterableFields = ['searchTerm'];
5+
exports.orgSearchableFields = ['email', 'phone', 'address', 'name'];

0 commit comments

Comments
 (0)