Skip to content

Instantly share code, notes, and snippets.

@knrt10
knrt10 / tsconfig.json
Created December 26, 2018 08:13
Configuration for TS project
{
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"outDir": "./dist",
"moduleResolution": "node",
"baseUrl": "./src",
"sourceMap": true,
"pretty": true,
"strictNullChecks": true,
@knrt10
knrt10 / process.yml
Created December 26, 2018 08:17
This is for running our code inside docker using pm2
apps:
- script : 'app.js'
name : 'Backend To-do Application'
node_args : '--inspect=0.0.0.0:5858'
@knrt10
knrt10 / tslint.json
Created December 26, 2018 12:51
Tslint configuration
{
"defaultSeverity": "error",
"extends": [
"tslint:recommended",
"tslint-eslint-rules"
],
"jsRules": {},
"rules": {
"object-literal-shorthand": false,
"object-literal-sort-keys": [
@knrt10
knrt10 / User-test-spec.ts
Last active December 26, 2018 15:24
Initial tests
import chai = require("chai");
import chaiAsPromised = require("chai-as-promised");
import { suite, test } from "mocha-typescript";
import testFunction from "../app";
chai.use(chaiAsPromised);
@suite("User Test class")
class UserTests {
@test("testFunction Test - It works fine")
@knrt10
knrt10 / Dockerfile
Created December 26, 2018 15:25
This a simple docker file
FROM node:8
# Install gulp and pm2 globaly
RUN npm install --quiet -g gulp pm2
# Create app directory
RUN mkdir -p /usr/src/
WORKDIR /usr/src/
@knrt10
knrt10 / docker-compose.yml
Last active December 26, 2018 16:07
A simple YML for docker setup
version: '3'
services:
web:
build: .
command: npm run dev
volumes:
- .:/usr/src/
- /usr/src/node_modules
ports:
- "3000:3000"
@knrt10
knrt10 / initialserver.ts
Last active December 26, 2018 16:50
A simple server in TS
"use strict";
/*
Import modules
*/
import bluebird = require("bluebird");
import cors = require("cors");
import express = require("express");
import fs = require("fs");
import mongoose = require("mongoose");
import { Config } from "./shared";
@knrt10
knrt10 / config.ts
Last active December 27, 2018 12:06
A simple config file
/**
* This file stores info for api, db, keys, logs
* @constant Config
*/
export const Config = {
apiSettings: {
host: process.env.API_HOST || "localhost",
},
dbSettings: {
authEnabled: process.env.MONGO_AUTH || false,
import chai = require("chai");
import chaiAsPromised = require("chai-as-promised");
import chaiHttp = require("chai-http");
import { suite, test } from "mocha-typescript";
import sinon = require("sinon");
import { TodoApp } from "../server";
import { Config } from "../shared";
// starting the server
const server: TodoApp = new TodoApp(process.env.API_PORT || 3001);
@knrt10
knrt10 / initialgraphql.ts
Created December 27, 2018 06:18
Initial graphql.ts
import { GraphQLNonNull, GraphQLObjectType, GraphQLSchema } from "graphql";
import { login, register } from "../routes";
import { userLoginSchema } from "./userLoginSchema";
import { userRegisterSchema } from "./userRegisterSchema";
// Define the Query type
const queryType = new GraphQLObjectType({
name: "Query",
fields: {
loginUser: {