Skip to content

Instantly share code, notes, and snippets.

View MrFiftyFifty's full-sized avatar

DevDanilBoev MrFiftyFifty

  • Moscow, RF
  • 23:20 (UTC +03:00)
View GitHub Profile
@MrFiftyFifty
MrFiftyFifty / server.ts
Created September 24, 2025 10:48
Enterprise Node.js Express Server
import express, { Request, Response, NextFunction } from 'express';
import helmet from 'helmet';
import cors from 'cors';
import compression from 'compression';
import rateLimit from 'express-rate-limit';
import { v4 as uuidv4 } from 'uuid';
import 'reflect-metadata';
import { Container } from 'typedi';
import { logger, createRequestLogger, logStartup, logShutdown } from './utils/logger';
@MrFiftyFifty
MrFiftyFifty / database.ts
Created September 24, 2025 10:46
Enterprise Node.js Database Service
import pgPromise from 'pg-promise';
import type { IDatabase, IMain } from 'pg-promise';
import { Service } from 'typedi';
export type DatabaseConnection = IDatabase<Record<string, never>>;
@Service()
export class DatabaseService {
private static instance: DatabaseService;
private pgp: IMain;
@MrFiftyFifty
MrFiftyFifty / base.repository.ts
Created September 24, 2025 10:44
Enterprise Repository Pattern
import type { DatabaseConnection } from '@/config/database';
export interface PaginatedResult<T> {
data: T[];
total: number;
page: number;
limit: number;
totalPages: number;
hasNextPage: boolean;
hasPreviousPage: boolean;