Skip to content

Instantly share code, notes, and snippets.

View birendra-b's full-sized avatar

Birendra Bikram birendra-b

View GitHub Profile
@birendra-b
birendra-b / Logger.ts
Created June 29, 2020 17:23
src/shared/Logger.ts
/**
* Setup the winston logger.
*
* Documentation: https://github.com/winstonjs/winston
*/
import { createLogger, format, transports } from 'winston';
// Import Functions
const { File, Console } = transports;
@birendra-b
birendra-b / db.ts
Created June 29, 2020 16:49
src/db.ts with Redis initialization
import "reflect-metadata";
import {createConnection} from "typeorm";
import { Tedis} from "tedis";
// import {User} from "../entities/User";
import logger from '@shared/Logger';
async function intializeDB(): Promise<void> {
await createConnection()
logger.info('Database successfully initialized');
}
@birendra-b
birendra-b / User.ts
Created June 29, 2020 16:48
src/entities/User.ts
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
firstName: string;
@birendra-b
birendra-b / db.ts
Created June 29, 2020 16:45
src/db.ts
import "reflect-metadata";
import {createConnection} from "typeorm";
import logger from '@shared/Logger';
async function intializeDB(): Promise<void> {
await createConnection()
logger.info('Database successfully initialized');
}
// Export express instance
{
"synchronize": true,
"logging": false,
"entities": [
"src/entities/**/*.ts"
],
"migrations": [
"src/migration/**/*.ts"
],
"subscribers": [
@birendra-b
birendra-b / Server.ts
Created June 29, 2020 16:40
Server.ts with API bad request error handler
// Print API errors
// eslint-disable-next-line @typescript-eslint/no-unused-vars
app.use((err: Error, req: Request, res: Response, next: NextFunction) => {
logger.error(err.message, err);
return res.status(BAD_REQUEST).json({
error: err.message,
});
});
import './LoadEnv'; // Must be the first import
import app from '@server';
// Start the server
const port = Number(process.env.PORT || 3000);
app.listen(port, () => {
logger.info('Express server started on port: ' + port);
});
import cookieParser from 'cookie-parser';
import express, { Request, Response, NextFunction } from 'express';
import { BAD_REQUEST } from 'http-status-codes';
import BaseRouter from './routes';
// Init express
const app = express();
@birendra-b
birendra-b / package.json
Created June 29, 2020 16:29
package.json with eslint script update
{
"name": "my-app",
"version": "0.0.0",
"scripts": {
"build": "node build.js",
"start": "node index.js",
"lint": "eslint . --ext .ts",
},
"dependencies": {
"@types/redis": "^2.8.22",
{
"name": "my-app",
"version": "0.0.0",
"scripts": {
"build": "node build.js",
"start": "node index.js",
},
"dependencies": {
"@types/redis": "^2.8.22",
"command-line-args": "^5.1.1",