betomossmann / advanced-node

Advanced Clean Architecture and TDD enforcement with TypeORM, third-party API integration

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Principles

  • Single Responsibility
  • Open Closed
  • Liskov Substitution
  • Interface Segregation
  • Dependency Inversion
  • Separation of Concerns
  • Don't Repeat Yourself
  • You Aren't Gonna Need It
  • Keep It Simple
  • Composition Over Inheritance
  • Small Commits

Design Patterns

  • Factory
  • Adapter
  • Composite
  • Decorator
  • Command
  • Dependency Injection
  • Abstract Server
  • Composition Root
  • Builder
  • Template Method
  • Singleton
  • Chain of Responsibility
  • Proxy

Code Smells (Anti-Patterns)

  • Blank Lines
  • Comments
  • Data Clumps
  • Divergent Change
  • Duplicate Code
  • Inappropriate Intimacy
  • Feature Envy
  • Large Class
  • Long Method
  • Long Parameter List
  • Middle Man
  • Primitive Obsession
  • Refused Bequest
  • Shotgun Surgery
  • Speculative Generality*

Methodologies and Designs

  • TDD
  • Clean Architecture
  • DDD
  • Refactoring
  • GitFlow
  • Modular Design
  • Dependency Diagrams
  • Use Cases
  • Spike (Agile)

Libraries and Tools

  • NPM
  • Typescript
  • Git
  • Jest
  • Ts-Jest
  • Jest-Mock-Extended
  • TypeORM
  • AWS-SDK
  • Multer
  • UUID
  • Axios
  • Postgres
  • JsonWebToken
  • Express
  • Cors
  • Supertest
  • Husky
  • Lint Staged
  • Eslint
  • Standard Javascript Style
  • Rimraf
  • In-Memory Postgres Server
  • Module-Alias
  • Npm Check
  • Travis CI
  • Coverals
  • DotEnv
  • Ts-Node-Dev

Typescript Features

  • Advanced OOP
  • Strict Mode
  • Interface
  • TypeAlias
  • Namespace
  • Utility Types
  • Path Modularization
  • Configurations
  • Build

Testing Features

  • Unit Testing
  • Integration Testing
  • Test Coverage
  • Test Doubles
  • Mocks
  • Stubs
  • Spies
  • Fakes

About

Advanced Clean Architecture and TDD enforcement with TypeORM, third-party API integration


Languages

Language:TypeScript 98.0%Language:JavaScript 1.7%Language:Shell 0.3%